# 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 [Lucide](https://lucide.dev)'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`](../../LICENSE.md)).