Skip to content

Latest commit

 

History

History
157 lines (137 loc) · 4.53 KB

todo.md

File metadata and controls

157 lines (137 loc) · 4.53 KB

Applicazione Gestione Feste - TODO List

Stack Tecnologico

  • Configurazione progetto Next.js 14 con TypeScript
  • Integrazione Supabase
  • Setup Zustand per state management
  • Configurazione Tailwind CSS
  • Installazione e setup Shadcn/UI

Database Supabase

Tabelle DB (Già create)

  • Profili (public.profiles)

    • id: UUID (chiave primaria, linkato ad auth.users)
    • email: Text
    • nome: Text
    • cognome: Text
    • ruolo: Text (admin, organizzatore, utente)
    • telefono: Text
    • avatar_url: Text
    • created_at: Timestamp
  • Feste (public.feste)

    • id: BigInt (chiave primaria)
    • nome: Text
    • descrizione: Text
    • data_inizio: Date
    • ora_inizio: Time
    • luogo: Text
    • max_partecipanti: Integer
    • creatore_id: UUID (foreign key)
    • stato: Text (pianificata, in_corso, conclusa, annullata)
    • tags: Text[]
    • immagine_url: Text
  • Partecipazioni (public.partecipazioni)

    • id: BigInt (chiave primaria)
    • festa_id: BigInt (foreign key)
    • user_id: UUID (foreign key)
    • stato: Text (confermato, in_attesa, rifiutato)
    • note: Text
    • created_at: Timestamp
  • Notifiche (public.notifiche)

    • id: BigInt (chiave primaria)
    • user_id: UUID (foreign key)
    • festa_id: BigInt (foreign key)
    • tipo: Text (invito, promemoria, aggiornamento)
    • messaggio: Text
    • letta: Boolean
    • created_at: Timestamp

Configurazione Database

  • Creazione politiche Row Level Security (RLS)
  • Configurazione Foreign Keys e relazioni
  • Impostazione indici per ottimizzazione query
  • Configurazione triggers per automazioni

Funzionalità dell'Applicazione

Autenticazione

  • Implementazione signup/login con Supabase Auth
  • Configurazione provider social (Google, Facebook)
  • Pagina di registrazione
  • Pagina di login
  • Funzionalità di recupero password
  • Gestione ruoli utente (admin, organizzatore, utente)
  • Protezione routes con middleware

Profilo Utente

  • Pagina profilo utente
  • Form modifica dati personali
  • Caricamento e gestione avatar
  • Visualizzazione storico partecipazioni
  • Gestione preferenze notifiche

Gestione Feste

  • Form creazione nuova festa
  • Pagina dettaglio festa
  • Funzionalità modifica festa
  • Implementazione stati festa (pianificata, in_corso, conclusa, annullata)
  • Sistema di tag per categorizzazione
  • Filtri avanzati (data, luogo, tag)
  • Upload e gestione immagini festa
  • Mappa per visualizzazione luogo
  • Condivisione su social media

Partecipazioni

  • Sistema invito partecipanti
  • Meccanismo conferma/rifiuto partecipazione
  • Gestione numero massimo partecipanti
  • Visualizzazione lista partecipanti
  • Funzionalità di esportazione lista (PDF, CSV)
  • Note/commenti per partecipanti

Sistema Notifiche

  • Creazione notifiche automatiche
  • Centro notifiche per utente
  • Notifiche email
  • Notifiche push (opzionale)
  • Promemoria per eventi imminenti

Dashboard Admin

  • Pannello amministratore
  • Statistiche globali
  • Gestione utenti
  • Moderazione feste
  • Generazione report
  • Visualizzazione log attività

Funzionalità Aggiuntive

  • Integrazione calendario (Google Calendar, iCal)
  • Sistema commenti per festa
  • Galleria immagini per festa
  • QR code per accesso rapido alla festa
  • Sistema di valutazione post-festa

UI/UX

  • Design responsive per mobile, tablet e desktop
  • Tema light/dark
  • Componenti UI per tutte le funzionalità
  • Animazioni e transizioni
  • Toast notifications
  • Loading states
  • Error handling UI

Sviluppo Tecnico

  • Setup environment variables
  • Configurazione TypeScript
  • Implementazione Zustand stores
  • Hooks personalizzati per logica condivisa
  • API routes per funzionalità backend
  • Ottimizzazione delle query Supabase
  • Implementazione caching
  • Middleware per protezione routes

Testing

  • Unit tests per componenti principali
  • Integration tests per flussi utente
  • Test di sicurezza
  • Performance testing
  • Test di accessibilità

Deployment

  • Setup Vercel per frontend
  • Configurazione ambiente di staging
  • Configurazione ambiente di produzione
  • Setup CI/CD
  • Monitoraggio applicazione
  • Backup database

Documentazione

  • README completo
  • Documentazione API
  • Guida utente
  • Documentazione tecnica
  • Commenti nel codice