Dei 45 componenti in `src/components/ui/` solo `drawer` e `sonner` erano importati da qualche parte. Gli altri 43 — e con loro ~45 dipendenze: tutti i `@radix-ui/*`, recharts, react-hook-form, date-fns, embla, cmdk, input-otp, react-day-picker, react-resizable-panels, class-variance-authority, tw-animate-css — erano superficie di aggiornamento e di sicurezza pagata a vuoto. Stessa sorte per `src/hooks/use-mobile.tsx`, mai importato. `zod` resta: lo usano tre route API. Le dipendenze dirette passano da 50 a 21. Il bundle client NON cala per questo: quel codice non era importato e il tree-shaking già lo escludeva. Nella direzione opposta entra `motion`, l'unica aggiunta: serve per le molle interrompibili che nessuna `@keyframes` CSS può dare (vedi DD-021). Costa ~42 KB gzip, che le rimozioni non compensano — il bundle client passa da 267 a 308 KB gzip. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
CrAPP 🏐
CrAPP è una Progressive Web App sviluppata per digitalizzare completamente la gestione di una squadra di pallavolo.
Funzionalità principali
- Gestione squadra
- Gestione presenze
- Calendario allenamenti e partite
- Scout Live
- Badge e gamification
- Statistiche
- Notifiche intelligenti
- Gestione amministrativa
- AI per la pianificazione degli allenamenti (in sviluppo)
Stack tecnologico
React 19, TypeScript, TanStack Start (SSR), Vite 8, Tailwind CSS 4, Radix UI / shadcn, Supabase (PostgreSQL, Auth, Storage), Vercel, GitHub. Dettagli in docs/ARCHITECTURE.md.
Avvio locale
Le dipendenze si installano con bun (bun.lock):
bun install
npm run dev # http://localhost:8080
Comandi
npm run build # build di produzione
npm run lint # eslint (include prettier)
npm run test # test unit; npm run test:all per la suite completa
Chi aggiunge o modifica una funzione scrive anche il test e lo lascia verde (test/README.md).
Deploy
Deploy automatico su Vercel a ogni push su main, che è anche il branch di lavoro corrente.
develop pubblica un Preview Deployment, ma oggi è indietro rispetto a main. Su quale branch
committare lo decide chi sviluppa (DD-019).
Variabili d'ambiente
Il progetto richiede le seguenti variabili:
SUPABASE_URLSUPABASE_PUBLISHABLE_KEYVITE_SUPABASE_URLVITE_SUPABASE_PUBLISHABLE_KEY
Documentazione
Indice in docs/README.md. Le regole per gli assistenti AI stanno in AGENTS.md, lo stato corrente del lavoro in PROJECT_STATE.md.