Deploy stack su Proxmox / deploy (push) Failing after 3s
Monorepo npm con apps/public (Angular SSR), apps/private (Angular SPA), apps/api (Fastify), packages/shared e packages/styles; Medusa 2.21 in medusa/; infrastruttura Docker (Postgres PostGIS+pgvector, Redis, Caddy, backup) e workflow Gitea Actions per il deploy via SSH a ogni push su master. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018jQyT6dR9czzGwqb7FkG6u
21 lines
1.6 KiB
Markdown
21 lines
1.6 KiB
Markdown
# 18 — API: configuratore a regole
|
|
|
|
Leggi `CLAUDE.md`.
|
|
|
|
## Obiettivo
|
|
Motore di raccomandazione deterministico (nessuna AI) che genera una `quote_request`.
|
|
|
|
## Cosa fare
|
|
- Definizione del wizard in un file di configurazione versionato (`src/configurator/definition.ts` o JSON): step, domande, opzioni, condizioni di visibilità (branching). Percorsi iniziali per esigenza: "acqua calcarea", "bolletta alta / fotovoltaico", "riscaldamento / pompa di calore", "azienda".
|
|
- Regole in file separato: soglie (es. consumo annuo kWh → taglia impianto kW; persone in casa + durezza acqua → taglia addolcitore), produttività per provincia/zona (kWh/kWp annui, tabella modificabile), prezzo medio energia, stima costo impianto.
|
|
- Output: soluzione consigliata, taglia, prodotti suggeriti (handle Medusa), risparmio annuo stimato, tempo di rientro, nota incentivi (testo statico), avvertenza "stima indicativa".
|
|
- Route: `GET /configurator/definition`, `POST /configurator/evaluate` (calcola senza salvare), `POST /configurator/submit` (salva `quote_requests` con input/output + contatti, consenso privacy obbligatorio, email interna all'admin e conferma all'utente).
|
|
- Funzioni di calcolo pure (input → output), senza accesso al DB.
|
|
|
|
## Criteri di accettazione
|
|
- Test unitari sulle funzioni di calcolo con casi tabellari (almeno 3 per percorso).
|
|
- Risposte incoerenti o mancanti rifiutate con errore di validazione.
|
|
- `submit` senza consenso privacy → 400.
|
|
- Cambiare una soglia richiede solo di modificare il file di regole.
|
|
- `CLAUDE.md` aggiornato: dove stanno definizione e regole e come modificarle.
|