livello dati C++ (datastore JSON, 33 controlli) e schermate Home, scheda ordine e cover; .gitignore per gli artefatti
This commit is contained in:
@@ -18,11 +18,14 @@ Android (AdMob/File picker/Share). Nessun account, nessun cloud, come l'original
|
||||
| parte | stato |
|
||||
|---|---|
|
||||
| Packaging (spec RPM, desktop SailJail, icone, i18n) | pronto |
|
||||
| Guscio app (finestra, cover, Settings con lingua) | pronto |
|
||||
| Livello dati C++ (`src/datastore.*`, JSON compatibile con l'app Android) | fatto e verificato |
|
||||
| Motore di calcolo (`qml/js/henflow.js`) | portato e verificato con node |
|
||||
| Traduzioni 4 lingue (`qml/js/i18n.js`, 126 chiavi) | portate e verificate con node |
|
||||
| Catalogo razze con foto (`qml/js/catalog.js`) | portato e verificato con node |
|
||||
| Schermate QML | da implementare |
|
||||
| Home con produzione stimata e coda ordini | fatta |
|
||||
| Scheda ordine (nuovo/modifica, data calcolata) | fatta |
|
||||
| Cover con produzione e ordini pendenti | fatta |
|
||||
| Razze / pollaio / galline, clienti, backup, lingua, intro | da fare |
|
||||
|
||||
## Struttura
|
||||
|
||||
@@ -30,20 +33,36 @@ Android (AdMob/File picker/Share). Nessun account, nessun cloud, come l'original
|
||||
harbour-henflow.pro # QT += quick qml, INSTALLS icone
|
||||
rpm/harbour-henflow.spec # lrelease + desktop cercati con find (layout sorgente variabile)
|
||||
rpm/harbour-henflow.desktop # profilo [X-Sailjail] esplicito (dati persistenti)
|
||||
src/main.cpp # SailfishApp, context property appSettings, lingua
|
||||
src/main.cpp # SailfishApp, context property appSettings/appData, lingua
|
||||
src/settings.h/.cpp # QSettings su path esplicito AppConfigLocation + sync()
|
||||
src/datastore.h/.cpp # dati in un JSON in AppConfigLocation (chiavi = SharedPreferences dell'app)
|
||||
qml/harbour-henflow.qml # ApplicationWindow: initialPage + cover
|
||||
qml/pages/MainPage.qml # indice dei moduli (segnaposto)
|
||||
qml/pages/MainPage.qml # Home: produzione stimata, coda ordini, menu nuovo ordine
|
||||
qml/pages/OrderPage.qml # nuovo/modifica ordine con anteprima della data di consegna
|
||||
qml/cover/CoverPage.qml # produzione del giorno e ordini pendenti
|
||||
qml/js/henflow.js # motore di calcolo (ES5, testabile con node)
|
||||
qml/js/i18n.js # 126 chiavi x 4 lingue + t(chiave, arg, lingua)
|
||||
qml/js/catalog.js # 7 razze: nome/descrizione/colore uova/foto
|
||||
assets/breeds/*.jpg # foto delle razze (installate nel datadir)
|
||||
tools/gen_from_flutter.py # rigenera i18n.js e catalog.js dai sorgenti Flutter
|
||||
tests/run.sh # tests/engine.test.js + tests/i18n.test.js
|
||||
tests/run.sh # motore + traduzioni (node)
|
||||
tests/cpp_test.sh # livello dati (Qt 5.15 locale, config in cartella temporanea)
|
||||
icons/make_icons.py # icone 86/108/128/172 dall'artwork originale
|
||||
translations/*.ts # stringhe statiche delle pagine QML (EN + IT)
|
||||
translations/*.ts # stringhe statiche QML (il testo dell'app viene da i18n.js)
|
||||
```
|
||||
|
||||
## Test
|
||||
|
||||
```sh
|
||||
sh tests/run.sh # motore di calcolo + traduzioni e catalogo (node, nessuna dipendenza)
|
||||
sh tests/cpp_test.sh # livello dati: compila src/datastore.cpp col Qt locale e prova
|
||||
# persistenza, rilettura, compatibilita' delle chiavi, backup, file corrotto
|
||||
```
|
||||
|
||||
Il testo dell'app vive in `i18n.js` (come il TranslationService dell'originale), quindi
|
||||
la lingua cambia **a runtime** senza riavviare l'app: cosa che i `.ts` di Qt 5.6 non
|
||||
permettono. La lingua predefinita segue quella del telefono.
|
||||
|
||||
## Motore di calcolo (portato fedelmente da `lib/main.dart`)
|
||||
|
||||
- **Produzione stimata** per razza = galline in deposizione x uova/gallina/giorno
|
||||
@@ -106,9 +125,10 @@ git archive --format=tar.gz --prefix=harbour-henflow-0.1.0/ -o harbour-henflow-0
|
||||
|
||||
## Aperti
|
||||
|
||||
1. **Repo Gitea `HenFlow`**: cancellata (era un upload parziale); da ricreare
|
||||
dalla UI, poi `workspace/henflow-flutter` va pushata li'.
|
||||
2. **Schermate QML**: da implementare (solo modalita' allevatore, 4 lingue).
|
||||
1. **Schermate da fare**: razze disponibili / mio pollaio / anagrafica galline,
|
||||
clienti, backup-ripristino, scelta lingua, introduzione iniziale, calendario.
|
||||
2. **Verifica su device**: la UI Silica non e' verificabile senza SDK/dispositivo
|
||||
(qui si verificano solo motore, traduzioni, catalogo e livello dati).
|
||||
|
||||
## Correzioni rispetto all'originale (bug trovati nei sorgenti Flutter)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user