Files
traccia-calorica/docs/TRACKING.md
2026-04-16 16:44:23 +02:00

4.8 KiB

Tracciamento Requisiti — CalorieTracker

Questo documento tiene traccia dello stato di avanzamento di ogni requisito sessione per sessione. Aggiornare questo file alla fine di ogni sessione di lavoro.


Stato Requisiti

ID Titolo Stato Sessione Note
REQ-001 Scaffolding Ionic + Capacitor COMPLETATO S0 Ionic 8 + Angular 20 + Capacitor 8
REQ-002 Setup Firebase Firestore DA FARE Richiede REQ-001
REQ-003 Home screen + FAB DA FARE Richiede REQ-002
REQ-004 Modal input numerico DA FARE Richiede REQ-003
REQ-005 Modal input LLM DA FARE Richiede REQ-003 + REQ-006
REQ-006 Servizio Claude API DA FARE Richiede REQ-001
REQ-007 CRUD pasti Firestore DA FARE Richiede REQ-002
REQ-008 Statistiche giornaliere DA FARE Richiede REQ-007
REQ-009 Statistiche settimanali DA FARE Richiede REQ-007
REQ-010 Ricerca pasti DA FARE Richiede REQ-007
REQ-011 Design brief Stitch COMPLETATO S0 Mockup disponibili

Legenda Stati

  • DA FARE — Non ancora iniziato
  • 🔄 IN CORSO — Lavoro iniziato
  • ⏸️ IN PAUSA — Iniziato ma bloccato/sospeso
  • COMPLETATO — Tutti i criteri accettazione soddisfatti
  • BLOCCATO — Bloccato da dipendenza o problema

Ordine di Implementazione Raccomandato

Fase 1 (Foundation):
  REQ-001 → REQ-002 → REQ-007

Fase 2 (Core Features):
  REQ-003 → REQ-004 (parallelo con REQ-006)
  REQ-006 → REQ-005

Fase 3 (Analytics & Search):
  REQ-008 → REQ-009
  REQ-010

Fase 4 (Polish):
  REQ-011 (già completato — usare come riferimento)

Log Sessioni

Sessione 0 — 16/04/2026

Obiettivo: Setup iniziale progetto Completato:

  • Inizializzazione repository Git
  • Configurazione remote Gitea (git.i-a.run)
  • Creazione CLAUDE.md
  • Creazione documentazione progetto (REQUIREMENTS.md, TRACKING.md, TECHNICAL.md, FIRESTORE_SETUP.md, DEVICE_TESTING.md)
  • Analisi mockup design Stitch (REQ-011 )

Prossima sessione: Iniziare REQ-001 (scaffolding Ionic)

Sessione 0b — 16/04/2026

Obiettivo: REQ-001 — Scaffolding progetto Ionic Completato:

  • Scaffolding Ionic 8 + Angular 20 + Capacitor 8 (REQ-001 )
  • 4 tab configurati: Journal, Stats, Plans, Profile (da design Precision Vitality)
  • Struttura features con lazy loading: home, stats, search, profile
  • Core services stubs: MealService, CalorieEstimatorService, AuthService, StorageService
  • Modal placeholders: ManualInputModal, LlmInputModal
  • Design system Precision Vitality applicato (CSS custom properties, font, tonal layering)
  • Food dictionary creato in assets/data/
  • Environment files configurati con placeholder Firebase
  • ionic build e npx cap sync verificati con successo
  • Push su Gitea completato

Note tecniche:

  • Angular 20 (generato da Ionic CLI) — usa NgModules (non standalone)
  • Capacitor 8.3 richiede Node.js >= 22.0.0
  • Node.js 22.15.0 usato via nvm (PATH override necessario su questa macchina)
  • Warning innocuo su localforage (CommonJS dependency)

Prossima sessione: REQ-002 (Firebase Firestore) oppure REQ-006 (Claude API proxy) — possono procedere in parallelo


Decisioni Prese

Data Decisione Motivazione
16/04/2026 Proxy API: Firebase Cloud Function API key non esposta nel bundle mobile
16/04/2026 Cancellazione pasti: hard delete Semplicità, niente complessità soft delete
16/04/2026 Obiettivo calorico: @ionic/storage locale Non serve persistenza cloud per preferenza utente
16/04/2026 Ricerca: client-side 30 giorni Firestore non supporta full-text, sufficiente per uso tipico
16/04/2026 Nome UI: "Precision Vitality" Da design brief Stitch approvato
16/04/2026 4 tab: Journal, Stats, Plans, Profile Da design (diverge dai 3 tab originali dei requisiti)

Problemi Aperti

# Problema Impatto Stato
1 Deadline business non definita Pianificazione Aperto
2 Target platform prioritario (Android vs iOS) Build priority Aperto
3 Strategia Auth lungo termine REQ-002 Aperto — per ora Anonymous
4 Logo app REQ-011 Aperto
5 Dark mode in scope? Design Aperto

Come Usare Questo Documento

  1. Inizio sessione: leggere lo stato attuale dei requisiti e il log dell'ultima sessione
  2. Durante la sessione: aggiornare lo stato dei requisiti man mano
  3. Fine sessione: aggiungere entry nel log sessioni con obiettivo, completato e prossimi passi
  4. Decisioni: registrare ogni decisione architetturale con motivazione
  5. Problemi: aggiungere problemi aperti che bloccano o impattano il lavoro