halkyon/apps/train/README.md

23 lines
1.4 KiB
Markdown
Raw Normal View History

# 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 ([`LICENSE.md`](../../LICENSE.md)).