halkyon_meditate_flutter on halkyon_app and halkyon_ui (ADR 0038): the first start, sign-in and account as every Halkyon app's, a bar below medium windows and a rail with the icon from medium on, fern washes, Settings in cards (Sync, the operator's, Sitting, Practice, the account, What's new, About, the version), English and German. - Today: a greeting by the hour, Sit now at 5, 10, 20 minutes and the timer's own length, the practice of the day, the week with the days in a row, favourites, recently sat (D9). - Explore: six practices of Halkyon's own, written for the app, found by a search without case or accents, by goal and by kind; each page with how it goes, its lengths, its heart and Start (D4, D10). - The sitting, over the tabs: its time from the clock, a ring counting down, the cue of the moment, Pause and End, the bells at the start, between and at the end, the screen kept on; ended early, kept from a minute on where the person says so (D5, D6). - Profile: every Halkyon app's, then the person's practice: minutes, sittings, days, the week and every sitting kept, to delete (D8). - Settings and sittings sealed with the person's key and synced (D7). The bells are synthesised by apps/meditate/tool/bells.py, the icon is Lucide's sprout from cobalt through pacific into fern (tool/app_icons.py). Releases and the deploy are a later step. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
25 lines
1.6 KiB
Markdown
25 lines
1.6 KiB
Markdown
# Halkyon Meditate
|
|
|
|
Meditation, as a Halkyon app (ADR 0038): a silent timer with bells, Halkyon's own
|
|
guided practices as text cues, found by goal and kind, and the person's minutes, days
|
|
and days in a row, every sitting sealed and synced between their devices. People choose
|
|
an instance, sign in (with SimpleLogin or a password), switch between the accounts on
|
|
their devices, sign out and delete their account, as in every Halkyon app.
|
|
|
|
| Package | What it is |
|
|
|---|---|
|
|
| [`halkyon_meditate_server`](halkyon_meditate_server/) | The server: Serverpod with the `halkyon_base` module and the sync engine |
|
|
| [`halkyon_meditate_client`](halkyon_meditate_client/) | Its client, generated by Serverpod |
|
|
| [`halkyon_meditate_flutter`](halkyon_meditate_flutter/) | The app, on `halkyon_app` and `halkyon_ui` (Android, iOS, Linux, macOS, Windows) |
|
|
|
|
Run it with `serverpod start` in `halkyon_meditate_server`, which starts the server (and its
|
|
embedded PostgreSQL) and the app; or the app alone against an instance with
|
|
`flutter run --dart-define=SERVER_URL=https://…/` in `halkyon_meditate_flutter`. Tests:
|
|
`dart run melos run test:dart --scope=halkyon_meditate_server` and
|
|
`dart run melos run test:flutter --scope=halkyon_meditate_flutter` at the repository's
|
|
root, or `dart run tool/check.dart` for everything.
|
|
|
|
The app's icon is [Lucide](https://lucide.dev)'s `sprout` (ISC licence, ADR 0031),
|
|
drawn by the repository's `tool/app_icons.py`. Its bells are synthesised by
|
|
[`tool/bells.py`](tool/bells.py) and are the project's own. Licences: the server under
|
|
the SSPL, the client and the app under the AGPL ([`LICENSE.md`](../../LICENSE.md)).
|