Mobile Flutter
La guida alla app mobile del cliente: struttura del progetto, branding, build e funzionamento delle principali aree dell esperienza utente.
La guida alla app mobile del cliente: struttura del progetto, branding, build e funzionamento delle principali aree dell esperienza utente.
L'app mobile rappresenta il front-end cliente della piattaforma. E' progettata per offrire un'esperienza ecommerce nativa, elegante e pronta alla pubblicazione, mantenendo Shopify come motore commerce e Laravel come hub di orchestrazione.
Questo documento resta pubblicato sulla madre come documentazione ufficiale del prodotto, ma la sorgente operativa dell'app mobile vive nel client master.
L'app segue una struttura feature-based. Le aree principali sono:
features/accountfeatures/catalogfeatures/commercefeatures/homefeatures/navigationfeatures/pushQuesta organizzazione rende il progetto piu' estendibile e leggibile.
client master ospita la sorgente reale della mobile appclient masterSharedPreferences per persistenza localeChangeNotifier per stato localeAnimatedBuilder e widget stateful per reattivita'NavigatorNon e' presente un framework di state management esterno pesante: l'app resta leggera, chiara e facilmente distribuibile.
La shell principale dell'app espone una navigazione stabile a quattro tab:
Questa struttura e' stata pensata per un uso ecommerce immediato e familiare.
La home e' il primo touchpoint commerciale dell'app e viene popolata da dati reali provenienti dal backend.
Il merchant puo' aggiornare la percezione dell'app senza dover pubblicare una nuova build, perche':
La tab categorie mostra le collection rese visibili nel backoffice. Questo consente una gestione editoriale pulita del catalogo mostrato al cliente finale.
Il backend supporta gia' il dettaglio di collection, mentre una parte della UX mobile utilizza ancora una logica di ricerca testuale per l'apertura di alcuni listing. Questo e' un punto migliorabile in una futura evoluzione, ma la base dati e l'API sono gia' predisposte.
La tab ricerca offre un accesso rapido ai prodotti tramite query libera.
Questa scelta evita di obbligare il cliente a passare sempre da home o categorie per trovare un articolo.
La tab profilo non e' una semplice pagina statica, ma il punto di convergenza di:
L'app include un account cliente reale integrato con Shopify.
L'autenticazione cliente non passa direttamente da Shopify verso il device. Il backend Laravel crea una sessione locale sicura e governa il token applicativo usato dall'app.
Questo porta diversi vantaggi:
Dopo il login il cliente puo' vedere i suoi ordini reali.
Questo rende l'app molto piu' completa rispetto a una semplice vetrina catalogo con checkout esterno.
Il dettaglio prodotto e' la schermata centrale del funnel di acquisto.
L'utente seleziona una variante reale e puo':
Il carrello e' persistente in locale, quindi sopravvive anche alla chiusura dell'app.
La persistenza locale migliora l'esperienza mobile e riduce l'attrito d'acquisto.
La wishlist e' anch'essa mantenuta in locale e permette al cliente di salvare articoli da recuperare in un secondo momento.
Il checkout e' reale e usa Shopify Storefront API tramite backend Laravel.
checkout_urlIl checkout resta affidabile e compatibile con l'ecosistema Shopify, mentre l'app mantiene una UX proprietaria fino al momento del pagamento.
L'integrazione push e' un blocco strategico dell'app.
Quando il cliente effettua login:
Quando effettua logout:
Questo e' fondamentale per inviare notifiche ordini al cliente corretto.
L'app mantiene tre blocchi di stato persistente:
Contiene:
Contiene:
Contiene:
I repository principali sono tre:
In questo modo ogni area funzionale ha un punto di accesso dati chiaro e separato.
L'app non e' rigidamente compilata con tutti i contenuti. Alcuni elementi vengono serviti dinamicamente:
Questo e' un vantaggio enorme in ottica white-label o rivendita.
Le estensioni piu' naturali della parte mobile sono: