Import sorgenti Flutter di Henflow (export da Nextcloud: lib/ + documenti di progetto)
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
Documento di Progetto
|
||||
Feature: Modalità Utente (Produttore / Cliente) + Flusso Ordini Offline
|
||||
|
||||
1. Obiettivo
|
||||
Implementare un sistema di selezione modalità utente alla prima apertura dell’app, con possibilità di modifica successiva dalle impostazioni.
|
||||
|
||||
Due modalità:
|
||||
- Produttore
|
||||
- Cliente
|
||||
|
||||
2. Requisiti Funzionali
|
||||
|
||||
2.1 Selezione iniziale
|
||||
Alla prima apertura:
|
||||
- mostrare schermata di scelta:
|
||||
- "Sono un Produttore"
|
||||
- "Sono un Cliente"
|
||||
- salvare scelta in storage locale (user_mode)
|
||||
|
||||
2.2 Modifica modalità
|
||||
- accessibile da Impostazioni
|
||||
- voce: Modalità utente
|
||||
- conferma cambio modalità
|
||||
|
||||
3. Architettura
|
||||
|
||||
Variabile:
|
||||
userMode: "producer" | "client"
|
||||
|
||||
Persistenza:
|
||||
- SharedPreferences / DataStore
|
||||
- chiave: user_mode
|
||||
|
||||
4. Modalità Cliente
|
||||
|
||||
Flusso:
|
||||
- selezione tipo uova: Marans / Araucana / Olive
|
||||
- inserimento quantità
|
||||
- click “Prenota”
|
||||
|
||||
Output JSON:
|
||||
{
|
||||
"order_id": "uuid",
|
||||
"timestamp": "ISO8601",
|
||||
"egg_type": "marans | araucana | olive",
|
||||
"quantity": 12,
|
||||
"client_note": ""
|
||||
}
|
||||
|
||||
File:
|
||||
ordine_uova_<timestamp>.json
|
||||
|
||||
Condivisione:
|
||||
- share system (Intent Android)
|
||||
|
||||
5. Modalità Produttore
|
||||
|
||||
UI:
|
||||
- bottone "Importa ordine"
|
||||
|
||||
Flusso:
|
||||
- apertura file picker
|
||||
- selezione file JSON
|
||||
- parsing
|
||||
|
||||
Validazione:
|
||||
- order_id
|
||||
- timestamp
|
||||
- egg_type
|
||||
- quantity
|
||||
|
||||
Errori:
|
||||
- formato non valido
|
||||
- duplicati
|
||||
|
||||
Dopo import:
|
||||
- calcolo data consegna
|
||||
- inserimento in database
|
||||
|
||||
6. Struttura dati
|
||||
|
||||
{
|
||||
"order_id": "string",
|
||||
"source": "imported | manual",
|
||||
"egg_type": "string",
|
||||
"quantity": "int",
|
||||
"created_at": "datetime",
|
||||
"delivery_date": "datetime"
|
||||
}
|
||||
|
||||
7. UX
|
||||
|
||||
Cliente:
|
||||
- semplice
|
||||
- focus prenotazione
|
||||
|
||||
Produttore:
|
||||
- UI esistente + import
|
||||
|
||||
8. Edge cases
|
||||
|
||||
- cambio modalità
|
||||
- file corrotti
|
||||
- quantità non valida
|
||||
|
||||
9. Non obiettivi
|
||||
|
||||
- cloud
|
||||
- login
|
||||
- notifiche
|
||||
|
||||
10. Priorità
|
||||
|
||||
1. selettore modalità
|
||||
2. flusso cliente
|
||||
3. import produttore
|
||||
4. validazione
|
||||
|
||||
11. KPI
|
||||
|
||||
- completamento prenotazioni
|
||||
- import corretti
|
||||
- tempo creazione ordine
|
||||
Reference in New Issue
Block a user