Files
harbour-henflow/README.md
T

3.1 KiB

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):

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):

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.
# 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/