scheletro porting nativo Sailfish OS di Henflow: packaging, settings, pagine, icone, i18n
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
# harbour-henflow
|
||||
|
||||
Porting **nativo Sailfish OS** dell'app Android *Henflow* (`it.carlobaratto.henflow`,
|
||||
Gestione ordini uova, galline e consegne). UI in QML/Silica, logica e dati in C++,
|
||||
pubblicazione prevista sullo **store Jolla Harbour**.
|
||||
|
||||
Il porting **non** usa il runtime Flutter community (`flutter-sailfishos`): quello
|
||||
resta una via OpenRepos, non Harbour-safe, e non supporta i plugin nativi Android
|
||||
(AdMob/Firebase/Billing). Dati locali sul telefono: nessun account, nessun cloud.
|
||||
|
||||
## Stato
|
||||
|
||||
Guscio completo e pronto alla prima build (finestra, pagina principale, cover,
|
||||
impostazioni con lingua, icone, catalogo traduzioni, spec RPM). Le schermate sono
|
||||
segnaposto: vanno mappate 1:1 dai sorgenti Flutter.
|
||||
|
||||
## Struttura
|
||||
|
||||
```
|
||||
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/settings.h/.cpp # QSettings su path esplicito AppConfigLocation + sync()
|
||||
qml/harbour-henflow.qml # ApplicationWindow: initialPage + cover
|
||||
qml/pages/MainPage.qml # segnaposto con i moduli previsti
|
||||
qml/cover/CoverPage.qml
|
||||
icons/make_icons.py # icone 86/108/128/172 (PIL)
|
||||
translations/*.ts # stringhe sorgente INGLESI + catalogo italiano
|
||||
```
|
||||
|
||||
## Build e deploy
|
||||
|
||||
Sul PC con l'SDK Sailfish (qui non c'e' sfdk):
|
||||
|
||||
```sh
|
||||
sfdk target use SailfishOS-5.0.0.62-aarch64 # o il target del tuo device
|
||||
sfdk build # RPM in build-*/RPMS/
|
||||
sfdk deploy # oppure Qt Creator
|
||||
```
|
||||
|
||||
Tarball per lo store (con `--prefix`, esclude .git e i file non tracciati):
|
||||
|
||||
```sh
|
||||
git archive --format=tar.gz --prefix=harbour-henflow-0.1.0/ -o harbour-henflow-0.1.0.tar.gz HEAD
|
||||
```
|
||||
|
||||
## Modello dati proposto (da confermare sui sorgenti Flutter)
|
||||
|
||||
Un file JSON in `AppConfigLocation` (`~/.config/harbour/henflow/henflow.json`)
|
||||
e' sufficiente: nessuna dipendenza extra e nessun driver SQL da verificare sul
|
||||
device. SQLite resta l'alternativa se servono query piu' ricche.
|
||||
|
||||
| entita' | campi |
|
||||
|---|---|
|
||||
| `hens` | id, nome, razza, data_nascita, uova_settimana (stima), attiva, note |
|
||||
| `egg_log` | data, uova_raccolte (+ eventuale id gallina) |
|
||||
| `customers` | id, nome, telefono, quantita_abituale, giorno_consegna, note |
|
||||
| `orders` | id, id_cliente, quantita, data_ordine, data_consegna, stato, note |
|
||||
|
||||
Derivati: **uova disponibili oggi** = produzione stimata/registrata meno gli ordini
|
||||
con data di consegna odierna; **data consegna automatica** = primo giorno di
|
||||
consegna del cliente successivo all'ordine.
|
||||
|
||||
## Prossimi passi
|
||||
|
||||
1. Copiare i sorgenti Flutter sul server (vedi sotto).
|
||||
2. Mappare schermate e campi reali (non la descrizione dello store).
|
||||
3. Implementare storage + schermate, verifica su device (192.168.2.15).
|
||||
4. Asset store (icona, cover 1080x540), descrizioni EN, upload Harbour.
|
||||
|
||||
```sh
|
||||
# dal PC con i sorgenti Flutter (LAN o VPN)
|
||||
rsync -av --exclude build --exclude .dart_tool --exclude .git \
|
||||
~/percorso/henflow/ kaneda@192.168.3.21:/home/kaneda/workspace/henflow-flutter/
|
||||
```
|
||||
Reference in New Issue
Block a user