halkyon/apps/train
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tizian 「ティツィアーン」 551140621b
feat(learn,train,todo,meditate): the icons on a white tile again, coloured by the system's theme on Android and iOS (ADR 0031, D9, D10)
D10 returns every icon to D1's white tile, D8's dark one undone, the
gradients as D5 gives them (cobalt holds about 5.7 : 1 against white).

D9 adds the variants the systems colour by their theme, all from the same
glyph at the same place, drawn by tool/app_icons.py and written into the
projects by flutter_launcher_icons: Android's monochrome layer, which
themed icons tint (Android 13 and later), and iOS's dark and tinted icons
(iOS 18 and later), the dark one keeping D8's lift of 30 % towards white
on iOS's own dark background. macOS needs an Icon Composer file made on a
Mac and keeps the plain icon until then.

Whats-New: The app's icon is white again, and takes the system's colours where Android or iOS themes its icons.
Whats-New-De: Das App-Symbol ist wieder weiß und nimmt die Farben des Systems an, wo Android oder iOS seine Symbole einfärbt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-10 14:22:49 +01:00
..
brouter feat(train): routes planned through the instance's BRouter (ADR 0030, D44) 2026-10-30 15:53:01 +01:00
halkyon_train_client Merge branch 'train-days' into integration 2026-11-04 09:32:11 +01:00
halkyon_train_flutter feat(learn,train,todo,meditate): the icons on a white tile again, coloured by the system's theme on Android and iOS (ADR 0031, D9, D10) 2026-11-10 14:22:49 +01:00
halkyon_train_server feat(train): OpenFreeMap's dark style in a dark theme, and MAP_DARK_STYLE_URL for a provider's 2026-11-05 08:58:33 +01:00
snap feat(learn,train,todo,meditate): the icons on a white tile again, coloured by the system's theme on Android and iOS (ADR 0031, D9, D10) 2026-11-10 14:22:49 +01:00
.gitignore feat(train): Halkyon Train's shell, Todo's copied and renamed (ADR 0030, D12) 2026-10-30 15:52:45 +01:00
AGENTS.md feat(learn,todo,train,meditate,ui): the navigation bar flush with the foot, a fade above it 2026-11-08 11:48:37 +01:00
CLAUDE.md feat(train): Halkyon Train's shell, Todo's copied and renamed (ADR 0030, D12) 2026-10-30 15:52:45 +01:00
README.md feat(train): setting up and keeping the Polar Loop (ADR 0030, D34–D36) 2026-10-30 15:52:55 +01:00
release.dart build(train): Train on the desktop as a snap, to the Store's edge channel with each release (ADR 0030, D62) 2026-11-03 12:16:05 +01:00

Halkyon Train

Running, cycling and rowing, as a Halkyon app (what it is to do: ADR 0030). For now a shell on the shared packages: people choose an instance, sign in (with SimpleLogin or a password), switch between the accounts on their devices, sign out and delete their account; the home is empty until Train's first model.

Package What it is
halkyon_train_server The server: Serverpod with the halkyon_base module
halkyon_train_client Its client, generated by Serverpod
halkyon_train_flutter The app, on halkyon_app and halkyon_ui (Android, iOS, Linux, macOS, Windows)

Run it with serverpod start in halkyon_train_server, which starts the server (and its embedded PostgreSQL) on ports of its own, 8180 to 8190, and the app; or the app alone against an instance with flutter run --dart-define=SERVER_URL=https://…/ in halkyon_train_flutter. Tests: dart run melos run test:dart --scope=halkyon_train_server and dart run melos run test:flutter --scope=halkyon_train_flutter at the repository's root, or dart run tool/check.dart for everything.

The app's icon is Lucide's bike (ISC licence, ADR 0031), drawn by the repository's tool/app_icons.py. Licences: the server under the SSPL, the client and the app under the AGPL, the app's with a permission for linking Polar's BLE SDK, which isn't free software, for the Polar Loop (ADR 0030, D36; LICENSE.md).