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

122 lines
4.8 KiB
Markdown

# 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