Files
CRAPP/src/routes
davideandClaude Sonnet 5.5 e9013b703b Promemoria senza ritorni e tre canali per ogni notifica (DD-037, DD-038)
m23: un registro (promemoria_eventi_generati) ricorda i promemoria a 24 e 3 ore
già generati, così eliminare la notifica non li fa rigenerare dal cron né
riaccodare la mail a ogni giro.

m24: la push dei promemoria, che nascono nel database, la manda il worker
mailer/ con lo stesso modulo dell'app (coda notifiche_push_coda, esiti, backoff,
iscrizioni scadute eliminate, push scartate oltre 3 ore). Il sondaggio
pre-partita scrive anche notifiche_utente (tipo sondaggio_cacche): compare
in-app e arriva per email. L'immagine del worker si costruisce dalla radice
del repository per includere src/lib/webpush.server.ts.

Test: 9 di integrazione per m23, 17 per la coda push, 6 per la route del
sondaggio, nuovi casi unitari sul worker; prova end-to-end con un servizio
push finto. Documentazione e catalogo delle notifiche aggiornati.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-29 14:19:54 +02:00
..

Routes

TanStack Start uses file-based routing. Every .tsx file in this directory defines a route. Do not create src/pages/, src/routes/_app/index.tsx, or app/layout.tsx — those are Next.js / Remix conventions. The only root layout is src/routes/__root.tsx.

Conventions

File URL
index.tsx /
about.tsx /about
users/index.tsx /users
users/$id.tsx /users/:id (dynamic — bare $, no curly braces)
posts/{-$category}.tsx /posts/:category? (optional segment)
files/$.tsx /files/* (splat — read via _splat param, never *)
_layout.tsx layout route (renders children via <Outlet />)
__root.tsx app shell — wraps every page; preserve <Outlet />

routeTree.gen.ts is auto-generated. Don't edit it by hand.