# Tre ruoli, tre app, un negozio confuso

> Titolare, vendita e magazzino erano tre applicazioni separate più una di appoggio: oggi sono un'app unica che cambia faccia in base a chi la apre.

**Enneci Agency** — Tenuta del Barone di Montemurlo di Nicolò Coppi. Via Piemonte 4/40, 59100 Prato (PO), Italia.
Contatti: ciao@enneciagency.it · +39 379 2885434 (anche WhatsApp) · https://www.enneciagency.it
Zona servita: Prato e provincia, Firenze e Pistoia, e in tutta la Toscana.

## Scheda

- Cliente: WeShop
- Settore: Ingrosso e B2B
- Tipo di lavoro: App mobile
- Anno: 2026
- null
- Tecnologie: Flutter, Dart, iOS, Android
- Pagina: https://www.enneciagency.it/progetti/weshop/

## Risultati

- **4 → 1** — applicazioni da installare e aggiornare
- **1** — sola base di codice Flutter
- **3** — ruoli dentro la stessa app
- **iOS · Android** — dallo stesso sorgente

WeShop nasce come famiglia di applicazioni per il punto vendita: una per il titolare, una per chi vende, una per il magazzino. Sulla carta è ordinato. Su un telefono che sta in tasca a una persona sola, è un problema.

## Chi lavora in negozio fa più di un mestiere

Nei negozi piccoli la stessa persona vende, controlla il magazzino e guarda i numeri a fine giornata. Con tre app separate questo significa tre installazioni, tre accessi, tre aggiornamenti — e la domanda ricorrente su quale aprire per fare cosa.

Sul piano tecnico il costo era anche più alto: ogni correzione andava portata a mano su più repository, con il rischio che una funzione condivisa si comportasse in modo diverso a seconda dell'app.

## Consolidare invece di moltiplicare

Le applicazioni sono state fuse in una sola — WeShop Business — dove le tre aree diventano sezioni che compaiono in base ai permessi di chi ha fatto l'accesso. Chi ha un ruolo solo vede un'app semplice; chi li ha tutti non cambia applicazione.

I repository superati non sono stati cancellati ma marcati: ognuno dichiara nella descrizione da quale data è superato e dove è confluito. Chi torna su quel codice fra un anno capisce subito che non è lì che deve lavorare.

## Cosa contiene l'app

- **Area titolare** — Andamento del negozio, incassi e controllo delle attività del personale.
- **Area vendita** — Il lavoro quotidiano al banco, pensato per essere usato con una mano sola.
- **Area magazzino** — Giacenze, carichi e movimenti, con le rilevazioni fatte dove stanno le merci.
- **Permessi per ruolo** — Le sezioni compaiono in base a chi entra: una sola installazione per tutto il negozio.

## Le prove sono divise come il negozio

L'applicazione è organizzata in tre parti: l'accesso, il nucleo condiviso e i moduli — uno per area del negozio. Centodiciassette sorgenti Dart che producono l'app per iOS e per Android senza scrivere due volte la stessa schermata.

La cosa che dice di più sta nella cartella delle prove automatiche: è divisa in titolare, vendita, magazzino e prodotto, cioè esattamente come è divisa l'app. Quando le prove somigliano al dominio invece che ai file, chi arriva dopo capisce cosa deve funzionare prima ancora di leggere il codice.

È anche il motivo per cui la fusione delle quattro applicazioni in una è stata possibile senza rompere niente: ogni area aveva già le sue verifiche, e dopo lo spostamento bastava rilanciarle.

## Meno cose da installare, meno cose da spiegare

Il negozio installa un'applicazione sola e la aggiorna una volta. Dal lato dello sviluppo, una correzione vale per tutti i ruoli invece di dover essere replicata su tre progetti: è il genere di semplificazione che non si vede dall'esterno ma si sente a ogni rilascio.
