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
