# ISTRUZIONI — Tema Shopify "Fido" (OS 2.0)

Tema completo per sito di richiesta prestiti personali con simulatore multi-step,
upload documenti sicuro, notifiche email e dashboard admin protetta.

---

## 1. Come importare lo ZIP su Shopify

1. Accedi al pannello Shopify del tuo negozio.
2. Vai su **Negozio online → Temi**.
3. Clicca **Aggiungi tema → Carica file ZIP**.
4. Seleziona il file `fido-theme.zip`.
5. Al termine dell'upload clicca **Personalizza** per aprire il Theme Editor, poi **Pubblica** quando sei pronto.

> Il tema è OS 2.0: tutte le sezioni sono modificabili dal Theme Editor (testi, colori, immagini, importi, TAN/TAEG, lista rate, FAQ, privacy, endpoint API...).

---

## 2. Quali pagine creare

Vai su **Negozio online → Pagine → Aggiungi pagina** e crea queste 6 pagine.
Per ognuna: inserisci il Titolo, poi in basso a destra nel riquadro **"Tema"**
seleziona il **template** indicato. L'handle (URL) viene generato dal titolo:
verificalo/modificalo in "Modifica sito web SEO → URL e handle".

| Titolo pagina        | Handle (URL)     | Template da assegnare  |
|----------------------|------------------|------------------------|
| Calcola la tua rata  | `prestito`       | `page.prestito`        |
| Contatti             | `contatti`       | `page.contatti`        |
| FAQ                  | `faq`            | `page.faq`             |
| Privacy              | `privacy`        | `page.privacy`         |
| Termini              | `termini`        | `page.termini`         |
| Stato pratica        | `stato-pratica`  | `page.stato-pratica`   |

Il contenuto delle pagine può restare vuoto: i contenuti sono gestiti dalle sezioni del tema.

Aggiungi le pagine al menu: **Negozio online → Navigazione → Main menu**.

---

## 3. Quali template assegnare

- Homepage → automatica (template `index`), contiene: header, hero, card offerta, vantaggi, come funziona, requisiti, FAQ, footer.
- `page.prestito` → simulatore prestito multi-step (sezione `fido-calculator-flow`).
- `page.stato-pratica` → verifica stato pratica con numero pratica + email.
- `404` → pagina errore personalizzata.

Tutti i template richiamano SOLO sezioni esistenti nel tema (nessun errore "section type non esistente").

---

## 4. Come impostare gli endpoint API nel Theme Editor

1. Apri **Personalizza** (Theme Editor).
2. Clicca sull'icona ingranaggio **Impostazioni tema → API e email**.
3. Configura:
   - **Endpoint API base**: URL del backend (es. `https://TUO-BACKEND.com/api`) — senza slash finale.
   - **Endpoint invio pratica**: `/practices` (default).
   - **Endpoint upload documenti**: `/uploads` (default).
   - **Endpoint stato pratica**: `/practices/status` (default).
   - **URL dashboard admin**: link alla dashboard (usato nelle email admin).
4. Salva.

> Nessuna chiave API è presente nel tema: le chiavi (Resend, JWT, password admin) vivono SOLO nelle variabili d'ambiente del backend.

In **Impostazioni tema → Parametri finanziari** puoi modificare TAN, TAEG, importo min/max e la lista rate (`18,24,30,36,42,48,54,60,64,70,76,82,84`).

---

## 5. Come configurare l'email admin

L'invio email avviene **lato backend** (Resend) — mai dal tema.

Nel backend, file `.env`:
```
RESEND_API_KEY=<la tua chiave Resend>
SENDER_EMAIL=onboarding@resend.dev   (o dominio verificato su Resend)
NOTIFY_EMAIL=tatoraro80@gmail.com    (destinatario notifiche pratiche)
```

Ad ogni pratica inviata il backend spedisce:
- all'admin: "Nuova richiesta prestito Fido - {numero_pratica}" con riepilogo + link dashboard (SENZA documenti allegati);
- al cliente: "Richiesta ricevuta - {numero_pratica}".

Nota Resend: finché non verifichi un dominio mittente, la modalità test consegna le email solo all'indirizzo del proprietario dell'account Resend.

Nel Theme Editor (Impostazioni tema → API e email → Email admin) il campo è solo informativo/di riferimento per il negozio.

---

## 6. Come accedere alla dashboard admin

1. Apri l'URL della dashboard (es. `https://TUO-BACKEND.com/admin`).
2. Accedi con:
   - Username: quello configurato in `ADMIN_EMAIL` nel backend
   - Password: quella configurata in `ADMIN_PASSWORD` nel backend (variabile d'ambiente/secret — MAI nel codice del tema)
3. Funzioni disponibili: lista pratiche, ricerca (numero, nome, cognome, email, telefono), filtro per stato, dettaglio pratica, visualizzazione/download documenti (solo autenticati), cambio stato, note interne, esportazione CSV.

Stati pratica: Nuova, In revisione, Documenti mancanti, Pre-approvata, Approvata, Non approvata.

Sicurezza: JWT con scadenza, protezione brute force (5 tentativi → blocco 15 min), documenti in storage privato non raggiungibili senza login.

---

## 7. Come risolvere eventuali 404

- **404 su "Calcola qui la tua rata"** → la pagina `prestito` non esiste o ha un handle diverso. Crea la pagina con handle `prestito` e template `page.prestito`, oppure nel Theme Editor modifica il link del bottone nella sezione "Card Offerta Fido".
- **404 su Contatti/FAQ/Privacy/Termini/Stato pratica** → crea le pagine con gli handle indicati nella tabella al punto 2 e assegna i template.
- **La pagina esiste ma appare vuota o generica** → verifica che nel riquadro "Tema" della pagina sia selezionato il template corretto (non `page` di default).
- **Il simulatore non invia la pratica** → controlla in Impostazioni tema → API e email che l'"Endpoint API base" punti al backend attivo (HTTPS) e che il backend sia raggiungibile.
- **Le email non arrivano** → verifica `RESEND_API_KEY` nel backend e i log del server; in modalità test Resend consegna solo all'email del proprietario dell'account.

---

## Note di sicurezza

- Nessuna password o chiave segreta nel codice del tema (solo endpoint pubblici configurabili).
- Documenti, selfie e busta paga salvati in storage privato lato server, scaricabili solo da admin autenticato.
- Nessun documento allegato alle email.
- Validazioni file: PNG/JPG/JPEG/PDF (selfie senza PDF), max 10 MB.
- Nessun riconoscimento biometrico automatico: il selfie serve solo alla revisione manuale.
