# Architettura del wireframe unificato

**Aggiornamento:** 31 agosto 2026.

## Obiettivo

Backend e frontend restano interfacce distinte, ma condividono lo stesso dominio e repository per validare scenari end-to-end con dati coerenti.

## Backend

`backend/` contiene il wireframe amministrativo corrente. Il freeze strutturale dell'8 agosto è terminato: sono state applicate le decisioni delle call successive, inclusa la patch del 25 agosto.

## Frontend

`frontend/` contiene la baseline funzionale corrente. Il percorso è organizzato in due step concettuali; il carrello completo è facoltativo. Non è il visual design definitivo.

Lo Step 1 è accessibile anche come guest; l’autenticazione/registrazione è richiesta all’ingresso dello Step 2. Lo stato del carrello è condiviso/persistente durante il passaggio alle pagine auth e il ritorno al checkout.

## Shared

`shared/mock-data/` e `shared/prototype/` mantengono fixture/stato di prototipo comuni. La coerenza concettuale fra backend, frontend e mock è obbligatoria anche quando una pagina usa ancora dati statici propri.

### Stato temporaneo del prototipo

- I dati demo ufficiali risiedono nei mock statici di `shared/mock-data/`.
- Le modifiche effettuate durante la navigazione (login simulato, carrello, indirizzi, metodi di pagamento ecc.) vengono salvate in `sessionStorage`, non in `localStorage`.
- Ricaricare o navigare fra le pagine mantiene lo stato della sessione; una nuova sessione del browser riparte dai mock correnti.
- Il vecchio stato persistente `sd-wireframe-state-v1` viene rimosso automaticamente per evitare che dati di versioni precedenti sovrascrivano la baseline demo.
- Il comando globale **Reset dati demo** elimina immediatamente lo stato temporaneo e ricarica la baseline dei mock.
- Lo stato contiene una versione di baseline: quando questa viene incrementata, una sessione precedente viene azzerata automaticamente.

## Documentazione

- `backend/docs/02-decisioni-funzionali-confermate.md` è la source of truth cumulativa;
- `backend/docs/14-decisioni-call-25-08-2026.md` contiene il delta più recente;
- `docs/02-stato-baseline-frontend.md` descrive lo stato del frontend.

## Regola di modifica

Non creare varianti parallele del backend/frontend. Ogni patch consolidata viene applicata alla baseline unica e verificata con `npm run qa`.
