davideandClaude Sonnet 5 10d1455eff Completa la copertura test del badge Presenza fissa e ne documenta il comportamento
Nessun bug trovato: contaPresenzeGiocatore() filtra correttamente per convocati,
tipo evento e stato (presente/ritardo contano, assente/forse no), gli eventi
futuri restano esclusi. Confermato che, a differenza di MVP/pagelle/badge social,
questo badge non ha bisogno dell'estensione RLS di M13: il filtro sui convocati è
già nella funzione pura, non solo in UI.

Aggiunti test unit sulle soglie (badges.test.ts) e un nuovo end-to-end
(presenze-badge.test.ts) che scrive eventi e risposte reali sul database locale e
verifica l'intera pipeline fetchPresenze()/daRiga() -> contaPresenzeGiocatore() ->
statoBadge() attraverso le tre soglie, incluso il caso "non convocato, la riga
esiste ma non conta". docs/modules/badge.md aggiornato con la pipeline, la
copertura test e la correzione della dicitura "in stagione" (il conteggio è
sull'intero storico, coerente con gli altri badge).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-08 14:33:51 +02:00
2026-09-03 14:23:56 +02:00

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, motion, vaul, 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_URL
  • SUPABASE_PUBLISHABLE_KEY
  • VITE_SUPABASE_URL
  • VITE_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.

S
Description
App del CRAP, ottimizzazione di sporteasy adattata alle esigenze della squadra, campionato e extra
https://crapp-iv11.vercel.app
Readme
2.3 MiB
Languages
TypeScript 94.4%
PLpgSQL 3.5%
CSS 1.8%
JavaScript 0.3%