Piattaforma ITI TECHNOLOGY: monorepo, Medusa, API, sito, area riservata e deploy
Deploy stack su Proxmox / deploy (push) Failing after 3s
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
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
# 21 — API: contatti, showroom, consensi
|
||||
|
||||
Leggi `CLAUDE.md`.
|
||||
|
||||
## Obiettivo
|
||||
Form pubblici e registro consensi GDPR.
|
||||
|
||||
## Cosa fare
|
||||
- `POST /contact` → salva `contact_requests`, email all'admin. Protezione anti-spam senza servizi terzi: honeypot + tempo minimo di compilazione + rate limit per IP.
|
||||
- `GET /showroom/slots` (slot disponibili da configurazione: giorni/orari di apertura, durata visita, capienza) e `POST /showroom/bookings` (verifica disponibilità, email di conferma). Admin: elenco e cambio stato prenotazioni.
|
||||
- Consensi: ogni form con dati personali richiede consenso privacy; consenso marketing/newsletter separato e facoltativo. Salvati in `consents` con versione del testo informativo e timestamp.
|
||||
- `GET /me/consents` e revoca consenso marketing.
|
||||
- `POST /me/delete-account` (richiesta cancellazione: disabilita l'account e notifica l'admin; la cancellazione effettiva resta manuale nell'MVP).
|
||||
|
||||
## Criteri di accettazione
|
||||
- Form senza consenso privacy → 400.
|
||||
- Due prenotazioni sullo stesso slot oltre la capienza → la seconda rifiutata.
|
||||
- Honeypot compilato → richiesta scartata silenziosamente (200, nulla salvato).
|
||||
- `CLAUDE.md` aggiornato.
|
||||
Reference in New Issue
Block a user