Modellare clienti, venditori, bancarelle, prodotti, busta, ordini, preferiti, notifiche, mercati e ruoli in una piattaforma PHP/MySQL con PWA.
Cosa e stato studiato
Sono stati studiati i flussi reali di un mercato locale: cliente che cerca prodotti, venditore che gestisce la bancarella, ordine con ritiro, preferiti, notifiche, disponibilita e confronto tra mercati. La difficolta era non appiattire il mercato in un e-commerce standard, perche il valore sta nel rapporto tra prodotto, venditore e luogo fisico.
Cosa e stato fatto
E stata costruita una piattaforma custom con catalogo, busta, confronto spesa, ordini, dashboard venditore, mercati, mappe, PWA e ruoli separati. Il sistema collega cliente, venditore e amministrazione, mantenendo il mercato come entita centrale e non come semplice categoria merceologica.
Come e stato fatto
La realizzazione usa PHP custom, MariaDB, JavaScript, PWA, mappe e geolocalizzazione. Le scelte tecniche sono state guidate dal dominio: sessioni e carrello per utenti anonimi o registrati, dashboard bancarella per venditori, stati ordine, notifiche e superfici mobile-first per uso quotidiano.
Architettura e tecnologie
Come lo stack e stato usato nel progetto
Dominio multi-attore
Rella Mercati separa clienti, venditori, admin e mercato, ma li collega attraverso prodotti, ordini, disponibilita e bancarelle. Questa architettura permette di governare permessi e superfici diverse senza perdere la relazione commerciale tra chi compra e chi vende.
Busta, ordini e dashboard venditore
La busta cliente e la dashboard venditore sono due lati dello stesso processo. Il cliente prepara la spesa, il venditore riceve e gestisce ordini, prezzi e prodotti. La piattaforma deve quindi mantenere consistenza tra carrello, disponibilita, stato ordine e storico.
Mappe, percorsi e ritiro fisico
La componente geografica non e accessoria: in un mercato locale distanza, percorso e luogo di ritiro fanno parte della decisione. Mappe e geolocalizzazione aiutano a trasformare il marketplace in supporto al comportamento reale, invece di sostituire il mercato fisico.
PWA e mobile-first
La PWA serve a rendere l'esperienza piu vicina all'uso reale di clienti e venditori, spesso su mobile. Manifest, service worker, navigazione e componenti dinamici sono parte dell'architettura applicativa, perche il mercato viene consultato e gestito in movimento.
Pattern implementativi
Dettagli tecnici che hanno guidato le scelte
Sessioni, carrello e utenti registrati
Il carrello deve funzionare anche quando l'utente non ha ancora completato registrazione o login. Questo richiede persistenza di sessione, riconciliazione con l'account e regole chiare su quantita, prodotti e mercati. Il pattern e tipico dei marketplace locali: ridurre attrito iniziale senza perdere tracciabilita quando l'ordine viene confermato.
Stati ordine e notifiche
Ordini e notifiche collegano cliente e venditore. Ogni stato deve essere comprensibile per entrambi: richiesta, conferma, preparazione, ritiro o gestione eccezioni. La parte tecnica non e solo inviare avvisi, ma mantenere coerenza tra dashboard venditore, storico cliente e conteggi dinamici.
Catalogo multi-vendor e disponibilita
Prodotti, prezzi, categorie e disponibilita dipendono dal venditore e dalla bancarella. Il modello deve evitare duplicazioni inutili ma consentire gestione autonoma dei singoli operatori. Questa e la differenza tra catalogo generico e marketplace verticale.
QA visuale e preservazione dei comportamenti
Su una piattaforma ricca, redesign e componenti dinamici devono preservare endpoint, selettori, stati e markup generato via JavaScript. Il controllo non puo fermarsi allo screenshot statico: serve verificare menu, notifiche, carrello, prodotti e interazioni principali.
Risultati e apprendimenti
Marketplace verticale online per mercati locali, con clienti, venditori, busta, confronto, ordini, PWA e dashboard bancarella.
- un mercato locale richiede un modello diverso dall'e-commerce generico
- il ritiro fisico e parte del dominio digitale
- redesign e QA devono preservare stati e comportamenti esistenti
