Tool gratuito che assegna un punteggio 1–99 all'acqua del rubinetto a partire dai valori del referto di analisi. Nessun login, anonimo, motore di scoring deterministico (stesso input → stesso punteggio).
- Node ≥ 20, npm
cp .env.example .env.locale compilare:NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYGOCCIA_IP_SALT(stringa random lunga, per hashing IP anti-abuso)NEXT_PUBLIC_SITE_URL=https://goccia.org
npm installnpm run dev
npm run dev— svilupponpm run build— build produzionenpm run type-check— TypeScript strictnpm test— vitest sul motore di scoring
- Applicare la migration
supabase/migrations/0001_goccia_submissions.sql(tabellagoccia_submissions+ viewgoccia_benchmark).
- Nuovo progetto Vercel collegato a questo repo
- Aggiungere le env elencate sopra (Production + Preview)
- Dominio:
goccia.org(apex) +www.goccia.orgcon redirect 308 sull'apex - DNS: record A/CNAME verso Vercel, SSL automatico
Il motore in packages/aquascore/ è una copia di quello presente nel repo principale di 123Acqua (src/lib/aquascore). Se cambi pesi, soglie o aggiungi parametri da una parte, riporta le stesse modifiche anche dall'altra — oppure pubblica il package su un registry privato condiviso ed eliminala da entrambi i repo.
packages/aquascore/ motore puro 1–99 (zero deps)
src/app/ Next.js App Router
src/lib/supabase/ client server + browser
supabase/migrations/ schema
Le guide città vivono in src/app/citta/[citta]/ ma l'URL pubblico è
/acqua-di-{slug} (rewrite in next.config.mjs; /citta/{slug} fa redirect
308 all'URL canonico). In Next un segmento è dinamico solo se è interamente
[param]: una cartella acqua-di-[citta] verrebbe trattata come percorso
letterale.
src/lib/official-sources.ts— dove ogni gestore pubblica le analisi ufficiali (link individuati su fonti pubbliche, campoconfidence). Alimenta/analisi-ufficialie il box nelle pagine città.src/lib/water-history.ts— storico personale delle analisi inlocalStorage(nessun dato lascia il browser). Alimenta/storicoe il salvataggio automatico dalla pagina risultato.
- Non scrivere "accreditato", "Accredia" o "ISO 17025" riferiti al laboratorio. Wording ammesso: "laboratorio qualificato", "metodi validati conformi a norme tecniche", "processi tecnici documentati".
- Solo italiano nell'UI.
- Punteggio sempre 1–99 (mai 0–100): nessuna acqua è perfetta, nessuna è ingestibile per definizione.
- Strumento informativo: non sostituisce il rapporto di prova né costituisce parere medico o legale.