Feature Tracker

Documento living — aggiornato ad ogni sprint. Ultima revisione: Marzo 2026

Stato complessivo del prodotto: cosa è implementato, cosa è in corso, cosa manca. Non è un roadmap (quello è in /project/roadmap.md) — è uno snapshot della realtà.


Legenda

SimboloSignificato
✅ DoneImplementato e funzionante
⚠️ PartialScheletro presente, integrazione incompleta
🔨 In progressLavoro attivo sul branch corrente
📋 PlannedNel roadmap, non ancora iniziato
❌ MissingAtteso ma assente — gap critico
🚫 DeprecatedRimosso o sostituito da scelta di design

Core App (MVP)

Autenticazione & Profilo

FeatureStatusNote
Login email/password✅ DoneSupabase Auth
Registrazione✅ Done
Recupero password✅ Done
Onboarding (welcome + setup)✅ Done
Profilo proprio✅ Done
Profilo pubblico (altri utenti)✅ Done
Edit profilo✅ Done
Upload avatar✅ DoneMIME bug risolto Marzo 2026
Cancellazione avatar⚠️ PartialFlow di delete non confermato
Verifica account (badge)⚠️ PartialverificationStatus nel modello, UI presente
Two-Factor Auth📋 PlannedDocumentato in user-service, UI assente
Livelli di connessione (amici)📋 PlannedVedere social-connection-model.md

Event Discovery

FeatureStatusNote
Feed eventi (lista)✅ DoneCard hierarchy: Hero → Minimal → Crew → Invite → Quote
Filtri categoria✅ DoneEventCategory enum completo
Filtri vibe (tags)✅ DoneVibeFilterBar implementata
Dettaglio evento✅ DoneL2 restyling completato
RSVP: “Ci sono” (Going)✅ Done
RSVP: “Interessante” (Interested)✅ DoneFeature branch Marzo 2026
Rimozione RSVP✅ DonePulsante “Esci dall’evento”
Radar Map (mappa eventi)✅ DoneEmbedded mode + standalone
Ricerca per testo✅ DoneSupabase ILIKE su title/username
Ricerca avanzata (faceted)❌ MissingNo filtri per: prezzo, capacità, data range
Filtro prezzo❌ MissingCampo price nel modello non esposto nei filtri
Filtro data range❌ Missing
Preferiti/wishlist eventi❌ MissingNessun modello saved_events
Condivisione evento✅ DoneShareService implementato
Commenti agli eventi❌ MissingNessun notifier, nessun thread UI
Recensioni evento⚠️ PartialScreen “Crea recensione” esiste; visualizzazione nel dettaglio assente
Valutazione (stelle) evento⚠️ Partialaverage_rating nel modello, non mostrato
Categorie da DB (event_types)✅ DoneSearchScreen ora carica categorie dinamiche (Marzo 2026)

Crew & Sociale

FeatureStatusNote
Lista amici✅ Done
Richiesta di amicizia✅ DoneSend/Accept/Decline nel notifier
Crew/Squad (creazione)✅ DoneWizard a step
Crew attive (lista)✅ DoneFriendsScreen carousel
Crew matchmaking wizard✅ Done
Chat di crew⚠️ PartialgetOrCreateCrewChat implementato; roster real-time non testato
Scoperta crew (trova crew vicine)❌ MissingNessuna discovery dei gruppi altrui
Profilo crew pubblico❌ MissingCrew non hanno pagina pubblica visitabile
Ruoli nella crew (leader, co-organizer)❌ MissingNessuna gerarchia
Timeline attività crew❌ Missing”Cosa abbiamo fatto insieme” non esiste
Crew dissolution⚠️ PartialvalidUntil nel modello ma flusso UI non definito
Follower/Following🚫 DeprecatedSostituiti da modello amici-only. Vedere social-connection-model.md
Suggerimenti utenti (people you may know)⚠️ PartialloadSuggestedUsers nel notifier, UX non visibile

Messaggistica

FeatureStatusNote
Direct messages✅ Done
Chat di gruppo⚠️ PartialSchermata chat di gruppo esiste; inviti poco chiari
Richieste messaggi✅ DoneSchermata “Richieste” implementata
Typing indicator⚠️ PartialEvento Socket.IO definito; nessuna UI bubble
Read receipts (spunta)⚠️ PartialEvento message:read definito; nessun checkmark visibile
Delivery ACK (inviato/ricevuto)⚠️ PartialInfrastructure pronta; status messaggi UI non chiari
Lista chat con ordine + unread count✅ DoneChatsScreen embedded in FriendsScreen

Notifiche

FeatureStatusNote
Notifiche in-app✅ DoneLista + real-time subscription
Badge su bottom nav✅ DoneHome tab mostra unread + pending requests
Push notifications (FCM)⚠️ PartialDipendenza aggiunta; token management e deep link non chiari
Notifiche email📋 PlannedNotification service ha canale email; non integrato da mobile
Preferenze notifiche✅ DoneSchermata impostazioni notifiche
Tipi di notifica con icone distinte❌ MissingTutti i tipi visualizzati uguale

Gamification

FeatureStatusNote
Sistema XP⚠️ PartialCalcolo in gamification_service.dart; nessuna progress bar in UI
Livelli⚠️ Partiallevel = floor(sqrt(xp/100)) + 1; XPProgressBar widget esiste
Karma (feedback crew)✅ DoneRaccolta feedback + calcolo karma
Karma badge sul profilo✅ DoneWidget KarmaBadge implementato
Badge & achievements❌ MissingNessun modello, nessuna schermata
Leaderboard❌ MissingNessuna implementazione
Accesso eventi gated da karma/livello❌ MissingCampo minLevel in Event model, non usato per gate reale
Ricompense visive (XP celebration)✅ DoneSheet celebrazione post-RSVP
Livelli di connessione automatici📋 PlannedProposta in social-connection-model.md

Biglietti & Pagamenti

FeatureStatusNote
Ticket wallet⚠️ PartialSchermata esiste; dati non wired
Acquisto biglietto❌ MissingNessun flusso di pagamento Stripe
Rimborso biglietto❌ Missing
QR code biglietto❌ Missing
Guest list management (organizer)❌ Missing

B2B — Organizzatori & Vendor

FeatureStatusNote
Creazione evento (wizard 6 step)✅ Done
Vendor dashboard⚠️ PartialSchermata UI presente; dati non wired
PR dashboard⚠️ PartialSchermata UI presente; dati non wired
Analytics eventi (presenze, engagement)❌ Missing
Campagne promozionali⚠️ PartialSchermata “Crea campagna” esiste; backend non integrato
Gestione guest list❌ Missing
Export presenze❌ Missing
Feedback post-evento (organizer view)❌ Missing

Infrastruttura

FeatureStatusNote
API Gateway (routing, auth, rate limit)✅ DonePort 3000
User Service✅ DonePort 3001
Event Service✅ DonePort 3002
Social Service✅ DonePort 3003
Notification Service⚠️ PartialPort 3004; canali push/email non tutti wired
Realtime Service (Socket.IO)⚠️ PartialPort 3005; no Redis adapter → single instance only
AI Services (recommendation + matchmaking)❌ MissingFramework FastAPI esiste; zero implementazione ML
Event Bus (Redis Streams)❌ MissingIssue #1 architettura; blocca async workflows
CDC MongoDB→PostgreSQL❌ MissingIssue #4; rischio inconsistenza dati
OpenTelemetry / Osservabilità❌ MissingIssue #6; solo Winston logger locale
Test suite (unit + integration)❌ MissingNessuna test suite visibile nel repo
CI/CD⚠️ PartialGitHub Actions menzionato, manifesti non visibili

Note di manutenzione

  • Memory leaks potenziali: I notifier event_notifier, social_notifier, chat_notifier, karma_notifier non hanno dispose(). Va aggiunto quando si lavora su di essi.
  • Follower/following: I campi esistono ancora in Supabase profiles e nel modello Dart User. La UI li ignora già — la migration DB può aspettare il momento più comodo.
  • Elasticsearch: Documentato nell’architettura come layer di search futuro. Non prioritario fino a che la base utenti non lo richiede.