chore: initial project setup with documentation and design assets
Add project foundation: CLAUDE.md, requirements tracking system, technical architecture docs, Firestore setup guide, device testing guide, and Stitch design mockups for Precision Vitality app. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
96
CLAUDE.md
Normal file
96
CLAUDE.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# CalorieTracker (Precision Vitality) — CLAUDE.md
|
||||
|
||||
## Progetto
|
||||
App mobile per il tracciamento calorico giornaliero con stima AI dei pasti.
|
||||
Nome UI: **Precision Vitality** | Nome progetto: **CalorieTracker**
|
||||
|
||||
## Stack Tecnologico
|
||||
- **Frontend**: Ionic 7+ / Angular 17+ / TypeScript
|
||||
- **Capacitor**: 5+ (Android + iOS)
|
||||
- **Database**: Firebase Firestore (Spark plan gratuito)
|
||||
- **Auth**: Firebase Anonymous Auth (upgrade Google Sign-In futuro)
|
||||
- **AI**: Anthropic Claude API (claude-haiku-4-5-20251001) via proxy sicuro
|
||||
- **Chart**: Chart.js + ng2-charts
|
||||
- **Storage locale**: @ionic/storage-angular
|
||||
|
||||
## Repository
|
||||
- **Remote**: git.i-a.run (Gitea) — `emanuele/traccia-calorica`
|
||||
- **Branch principale**: `main`
|
||||
- **Lingua codice**: inglese (variabili, commenti tecnici)
|
||||
- **Lingua UI**: italiano
|
||||
|
||||
## Design System — "Precision Vitality"
|
||||
- Riferimento design: `stitch_calorietracker_design_brief_brief/`
|
||||
- **Font**: Lexend (dati/numeri) + Plus Jakarta Sans (UI)
|
||||
- **Colori primari**: Verde `#006b1b`, Accent arancione `#FF7043`, Errore `#F44336`
|
||||
- **Background**: `#f6f6f6` (surface), `#f0f1f1` (container-low), `#ffffff` (cards)
|
||||
- **Testo**: `#2d2f2f` (primario), `on-surface-variant` (secondario)
|
||||
- **Regola NO-LINE**: niente bordi 1px — separazione solo tramite tonal shifts
|
||||
- **Elevazione**: tonal layering, no drop shadows su card statiche
|
||||
- **Icone**: Material Icons (Outlined/Two-Tone, mai Filled pesanti)
|
||||
|
||||
## Struttura Tab (da design)
|
||||
1. **JOURNAL** (Home) — diario pasti + FAB arancione
|
||||
2. **STATS** — statistiche giornaliere/settimanali
|
||||
3. **PLANS** — (futuro) piani alimentari
|
||||
4. **PROFILE** — (futuro) profilo utente
|
||||
|
||||
## Struttura Cartelle
|
||||
```
|
||||
src/
|
||||
app/
|
||||
core/ # Servizi singleton, guards, interceptors
|
||||
services/
|
||||
meal.service.ts
|
||||
calorie-estimator.service.ts
|
||||
auth.service.ts
|
||||
shared/ # Componenti, pipe, direttive condivise
|
||||
features/
|
||||
home/ # Tab Journal/Home
|
||||
modals/ # Manual input + LLM input modals
|
||||
stats/ # Tab Statistiche (daily + weekly)
|
||||
search/ # Ricerca pasti
|
||||
profile/ # Tab Profile (futuro)
|
||||
assets/
|
||||
data/
|
||||
food-dictionary.md
|
||||
environments/
|
||||
environment.ts
|
||||
environment.prod.ts
|
||||
```
|
||||
|
||||
## Convenzioni
|
||||
- Lazy loading per ogni feature module
|
||||
- Servizi in `core/services/` — singleton con `providedIn: 'root'`
|
||||
- Componenti condivisi in `shared/`
|
||||
- Ogni modal è un componente standalone
|
||||
- Commit messages in inglese, descrittivi
|
||||
- Branch naming: `feature/REQ-XXX-descrizione`, `fix/REQ-XXX-descrizione`
|
||||
|
||||
## Documenti di Progetto
|
||||
- `docs/REQUIREMENTS.md` — requisiti funzionali completi
|
||||
- `docs/TRACKING.md` — tracciamento stato requisiti sessione per sessione
|
||||
- `docs/TECHNICAL.md` — architettura e decisioni tecniche
|
||||
- `docs/FIRESTORE_SETUP.md` — guida configurazione Firebase/Firestore
|
||||
- `docs/DEVICE_TESTING.md` — test su device e build APK senza Android Studio
|
||||
|
||||
## Decisioni Architetturali
|
||||
- **Proxy API Claude**: Firebase Cloud Function (free tier) — API key mai nel bundle
|
||||
- **Cancellazione pasti**: hard delete (semplice, niente soft delete per ora)
|
||||
- **Obiettivo calorico**: salvato in @ionic/storage locale (default 2000 kcal)
|
||||
- **Ricerca**: client-side su ultimi 30 giorni
|
||||
|
||||
## Comandi Utili
|
||||
```bash
|
||||
ionic serve # Dev server
|
||||
ionic build # Build produzione
|
||||
npx cap sync # Sync Capacitor
|
||||
npx cap open android # Apri in Android Studio
|
||||
```
|
||||
|
||||
## Note per Claude
|
||||
- Leggere sempre il design in `stitch_calorietracker_design_brief_brief/` prima di implementare UI
|
||||
- Seguire il DESIGN.md (Precision Vitality) per colori, tipografia e componenti
|
||||
- Aggiornare `docs/TRACKING.md` dopo ogni sessione di lavoro
|
||||
- Non esporre mai API keys nel codice client
|
||||
- Verificare `docs/TRACKING.md` per sapere cosa è stato completato nelle sessioni precedenti
|
||||
Reference in New Issue
Block a user