docs: aggiunge docs/architettura.md e ristruttura il README

Documenta flusso dati per feature, QR e update checker per chi sviluppa
il progetto; riorganizza il README nella struttura standard
overview/features/architecture/requisiti/installazione/uso/test/build/
contribuire, senza perdere contenuti esistenti. Piccole correzioni a
CLAUDE.md (app_theme.dart nell'albero, nota su kAppVersion non sincronizzato).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
davideandClaude Sonnet 5 committed 2026-09-20 16:48:34 +02:00
1 parent 65d0eb461c
commit b1eb92e83d
3 files changed
+178 -74

No files matched your search

+2
View File
@@ -55,6 +55,7 @@ bash docker/build.sh --release # release → dist/biteplan-release.
- **Keystore**: `docker/biteplan.jks` è in `.gitignore`; da ottenere dall'autore o generare con `keytool`. Password via `BITEPLAN_KEYSTORE_PASS` (mai hardcoded); alias: `biteplan`
- **applicationId**: `com.davide.biteplan` — non cambiare, garantisce aggiornamento diretto dalla v1.2.1
- **versionCode**: letto da `pubspec.yaml` (`version: X.Y.Z+BUILD`); BUILD deve essere sempre crescente
- **kAppVersion**: `lib/core/constants/app_constants.dart` duplica la versione di `pubspec.yaml` a mano (nessuna sincronizzazione automatica) — aggiornarla ad ogni bump di versione, altrimenti l'update checker confronta contro il valore sbagliato
## Architettura
@@ -64,6 +65,7 @@ Feature-first sotto `lib/features/` (meal_planner, converter, shopping_list, gui
lib/
├── app.dart # MaterialApp + NavigationBar; in initState chiama UpdateService.checkUpdate() e mostra showUpdateDialog()
├── core/constants/app_constants.dart # kDayIds, kMealSlots, kStorageKey*, kAppVersion
├── core/theme/app_theme.dart # ThemeData Material 3, seed color 0xFF2d6a4f
├── shared/
│ ├── services/storage_service.dart # wrapper SharedPreferences (load/save)
│ ├── services/update_service.dart # checkUpdate() → GitHub API; isNewer(), parseTagName() (@visibleForTesting)