halkyon/apps/train/README.md
Tizian 「ティツィアーン」 7b5fbee913
feat(train): Halkyon Train's shell, Todo's copied and renamed (ADR 0030, D12)
apps/train with halkyon_train_server, _client and _flutter, as Todo's:
halkyon_base configured by trainBase(), its own register alone and a
member of the instance's where the operator names one, the app on
halkyon_app's gates with Train's frame, account sheet and About, texts
in British English and German that speak of workouts, app.halkyon.train
on Android, iOS, Linux, macOS and Windows.

Where it differs from Todo: development ports of its own (8180 to 8190),
so it runs beside Learn's server; one initial migration with the schema
Todo's migrations end at (the same tables, compared line by line), not
Todo's seventeen; and Todo's icon as a placeholder until the icon tool
of ADR 0031 draws Train's bike. The workspace, the licences, the READMEs
and AGENTS.md name it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-30 15:52:45 +01:00

23 lines
1.4 KiB
Markdown

# 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`](halkyon_train_server/) | The server: Serverpod with the `halkyon_base` module |
| [`halkyon_train_client`](halkyon_train_client/) | Its client, generated by Serverpod |
| [`halkyon_train_flutter`](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 to be [Lucide](https://lucide.dev)'s `bike` (ISC licence, ADR 0031);
until it is drawn, Train carries Todo's. Licences: the server under the SSPL, the client
and the app under the AGPL ([`LICENSE.md`](../../LICENSE.md)).