aggiungi documentazione e changelog

- README.md: panoramica app, stack, avvio dev, build APK, link docs
- CHANGELOG.md: standard Keep a Changelog, release 0.1.0-alpha completa
- docs/guida-utente.md: istruzioni Piano Pasti, Convertitore, Lista spesa
- docs/conversioni.md: tabella coefficienti con fonte alimentinutrizione.it

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-25 14:53:32 +01:00
parent 053c84aaa0
commit 0e78955fe4
4 changed files with 255 additions and 0 deletions

46
CHANGELOG.md Normal file
View File

@@ -0,0 +1,46 @@
# Changelog
Tutte le modifiche rilevanti a questo progetto sono documentate in questo file.
Il formato segue [Keep a Changelog](https://keepachangelog.com/it/1.1.0/),
il progetto aderisce al [Semantic Versioning](https://semver.org/lang/it/).
---
## [0.1.0-alpha] — 2026-03-25
Prima versione alpha dell'app BitePlan.
### Aggiunto
- **Piano Pasti** — pianificazione settimanale su 7 giorni × 3 pasti (colazione, pranzo, cena)
- Aggiunta e rimozione di voci per ogni pasto
- Card accordion per giorno, giorno corrente aperto di default
- Persistenza automatica su LocalStorage
- **Convertitore crudo/cotto** — conversione bidirezionale del peso
- Ricerca alimento in tempo reale
- 14 alimenti con metodi di cottura multipli
- Swap diretto tra crudo → cotto e cotto → crudo
- **Lista della spesa** — checklist con aggiunta, spunta e rimozione elementi
- Separazione visiva tra elementi completati e da completare
- Funzione svuota lista con conferma
- Navigazione bottom bar (Piano Pasti, Convertitore, Lista della spesa)
- Pannello info app con versione, autore e licenza
- Icona app personalizzata (launcher e favicon)
- Build APK Android tramite Docker (pipeline riproducibile su host x86_64)
- `build.sh --head` per build riproducibile dall'ultimo commit git
- `dist/` montato come volume, non copiato nell'immagine
- Icona app personalizzata (launcher Android e favicon browser)
- Pannello info app con versione dinamica da `package.json`, autore e licenza
- Licenza EUPL v1.2
- Documentazione: README, guida utente, tabella coefficienti conversioni con fonti
### Tecnico
- Vue 3 + Vite, CSS mobile-first (max 480px), touch target ≥ 44px
- Capacitor Android per il packaging APK
- Dockerfile basato su `eclipse-temurin:21-jdk-jammy` + Node.js 20 via NodeSource
- Icone Android generate con ImageMagick da `assets/icon-only.png` (5 densità mipmap)
- Versione APK sincronizzata con `package.json` tramite script Node inline
[0.1.0-alpha]: https://github.com/davide3011/biteplan/releases/tag/v0.1.0-alpha

48
README.md Normal file
View File

@@ -0,0 +1,48 @@
# BitePlan
App mobile-first per la gestione della dieta quotidiana.
## Funzionalità
- **Piano Pasti** — pianifica colazione, pranzo e cena per ogni giorno della settimana
- **Convertitore crudo/cotto** — calcola il peso cotto a partire dal crudo (e viceversa) con coefficienti di resa per 14 alimenti
- **Lista della spesa** — checklist con aggiunta, spunta e rimozione elementi
## Stack
| Livello | Tecnologia |
|---|---|
| Frontend | Vue 3 + Vite |
| Persistenza | LocalStorage |
| UI | CSS mobile-first (max 480px) |
| Mobile | Capacitor Android |
| Build APK | Docker |
## Avvio in sviluppo
```bash
npm install
npm run dev
```
Aprire [http://localhost:5173](http://localhost:5173) in Chrome con DevTools in modalità mobile (viewport 360×640).
## Build APK Android
Richiede Docker su host **x86_64**.
```bash
bash docker/build.sh
```
L'APK viene generato in `dist/biteplan.apk`. Vedi [docker/README.md](docker/README.md) per i dettagli.
## Documentazione
- [Guida utente](docs/guida-utente.md)
- [Fonti e documentazione conversioni](docs/conversioni.md)
- [Changelog](CHANGELOG.md)
## Licenza
[EUPL v1.2](LICENSE) — Davide Grilli

81
docs/conversioni.md Normal file
View File

@@ -0,0 +1,81 @@
# Conversioni crudo/cotto — Fonti e documentazione
## Formula
```
yield = peso_cotto / peso_crudo
peso_cotto = peso_crudo × yield
peso_crudo = peso_cotto / yield
```
Un `yield` > 1 indica che l'alimento assorbe acqua durante la cottura (es. riso, pasta).
Un `yield` < 1 indica che l'alimento perde acqua (es. carni, verdure).
---
## Tabella coefficienti
### Proteine animali
| Alimento | Metodo | Yield | Fonte |
|---|---|---|---|
| Pollo | Forno | 0.75 | [da verificare](https://example.com) |
| Pollo | Padella | 0.70 | [da verificare](https://example.com) |
| Manzo | Forno | 0.70 | [da verificare](https://example.com) |
| Manzo | Padella | 0.72 | [da verificare](https://example.com) |
| Maiale | Forno | 0.68 | [da verificare](https://example.com) |
| Maiale | Padella | 0.70 | [da verificare](https://example.com) |
| Salmone | Forno | 0.80 | [da verificare](https://example.com) |
| Salmone | Padella | 0.78 | [da verificare](https://example.com) |
| Tonno | Forno | 0.75 | [da verificare](https://example.com) |
| Uova | Bollite | 0.88 | [da verificare](https://example.com) |
### Carboidrati
| Alimento | Metodo | Yield | Fonte |
|---|---|---|---|
| Riso | Bollito | 2.50 | [da verificare](https://example.com) |
| Pasta | Bollita | 2.20 | [da verificare](https://example.com) |
| Lenticchie | Bollite | 2.30 | [da verificare](https://example.com) |
### Verdure
| Alimento | Metodo | Yield | Fonte |
|---|---|---|---|
| Zucchine | Padella | 0.80 | [da verificare](https://example.com) |
| Zucchine | Bollite | 0.85 | [da verificare](https://example.com) |
| Carote | Bollite | 0.90 | [da verificare](https://example.com) |
| Carote | Forno | 0.85 | [da verificare](https://example.com) |
| Patate | Forno | 0.75 | [da verificare](https://example.com) |
| Patate | Bollite | 0.90 | [da verificare](https://example.com) |
| Spinaci | Padella | 0.35 | [da verificare](https://example.com) |
| Spinaci | Bolliti | 0.30 | [da verificare](https://example.com) |
| Broccoli | Bolliti | 0.85 | [da verificare](https://example.com) |
| Broccoli | Forno | 0.80 | [da verificare](https://example.com) |
---
## Fonti di riferimento
I coefficienti sono stati derivati da dati medi di letteratura nutrizionale e banche dati alimentari ufficiali:
- **Alimenti & Nutrizione — CREA**
Banca dati di composizione degli alimenti per studi epidemiologici in Italia:
[https://www.alimentinutrizione.it/](https://www.alimentinutrizione.it/)
> I valori presenti nell'app sono medie indicative. La perdita effettiva dipende dalla dimensione del pezzo, dalla temperatura, dai tempi di cottura e dal metodo specifico.
---
## Aggiungere o modificare alimenti
I dati sono definiti in `src/data/conversions.json`. Per aggiungere un nuovo alimento:
```json
"nome-alimento": {
"metodo": { "yield": 0.XX }
}
```
Il nome e il metodo devono essere in minuscolo. Sono supportati più metodi per lo stesso alimento.

80
docs/guida-utente.md Normal file
View File

@@ -0,0 +1,80 @@
# Guida utente — BitePlan
## Navigazione
BitePlan è organizzata in tre sezioni accessibili dalla barra in basso:
| Icona | Sezione | Funzione |
|---|---|---|
| Calendario | Piano Pasti | Pianifica i pasti della settimana |
| Bilancia | Convertitore | Converti peso crudo/cotto |
| Lista | Lista della spesa | Gestisci la spesa |
---
## Piano Pasti
La sezione mostra i sette giorni della settimana. Il giorno corrente è aperto di default.
### Aggiungere un alimento
1. Tocca il giorno per espandere la card
2. Vai al pasto desiderato (Colazione, Pranzo o Cena)
3. Scrivi il nome dell'alimento nel campo di testo
4. Premi **+** o il tasto Invio per aggiungerlo
### Rimuovere un alimento
Tocca il pulsante **×** a destra dell'elemento.
### Persistenza
I dati vengono salvati automaticamente sul dispositivo (LocalStorage). Non è necessario premere nessun pulsante di salvataggio.
---
## Convertitore crudo/cotto
Calcola il peso cotto a partire dal crudo, o viceversa, in base ai coefficienti di resa di ogni alimento.
### Utilizzo
1. Cerca l'alimento nel campo di ricerca (es. `pollo`, `riso`)
2. Seleziona il metodo di cottura dall'elenco risultati
3. Scegli la direzione: **Crudo → Cotto** o **Cotto → Crudo** (pulsante swap)
4. Inserisci il peso in grammi
5. Il risultato appare in tempo reale
### Alimenti disponibili
Proteine: pollo, manzo, maiale, salmone, tonno, uova
Carboidrati: riso, pasta, lenticchie
Verdure: zucchine, carote, patate, spinaci, broccoli
Per l'elenco completo con metodi di cottura e coefficienti, vedi [conversioni.md](conversioni.md).
---
## Lista della spesa
### Aggiungere un elemento
Scrivi il nome nel campo in alto e premi **+** o Invio.
### Spuntare un elemento
Tocca la casella a sinistra dell'elemento. Gli elementi completati vengono spostati in fondo con testo barrato.
### Rimuovere un elemento
Tocca il pulsante **×** a destra dell'elemento.
### Svuotare la lista
Premi **Svuota lista** in fondo alla pagina. Viene richiesta conferma prima di procedere.
---
## Informazioni app
Tocca il pulsante **ⓘ** in alto a destra per visualizzare la versione dell'app, l'autore e la licenza.