124 lines
1.9 KiB
Plaintext
124 lines
1.9 KiB
Plaintext
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
|