feat(todo): the server on halkyon_base

Todo's server includes halkyon_base (ADR 0014), configured for Todo:
its basics say it serves `todo`, sign-in mails name Halkyon Todo, the
source is this repository, minimumAppBuild 1. Authentication through
the module (anonymous, GitHub, email codes, server-side sessions) in
place of the scaffold's email-and-password provider; the module's
pruning scheduled once however often the server starts. The scaffold's
greeting, its Flutter web hosting, cloud storage and Docker files go;
session logs are never persisted. Todo was never deployed, so its
migrations start again with one initial migration. The root's lints
apply, with the four constructor rules off as on Learn's server.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-19 21:56:12 +02:00
commit 28dd3ea65a
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -1,7 +1,6 @@
name: halkyon_todo_server
description: Starting point for a Serverpod server.
# version: 1.0.0
# homepage: https://www.example.com
description: Halkyon Todo's server.
publish_to: none
environment:
sdk: '^3.13.0'
@ -9,34 +8,20 @@ environment:
resolution: workspace
dependencies:
clock: ^1.1.3
# What every Halkyon server has (ADR 0014): signing in, the account and its
# deletion, pruning, the instance's basics. A Serverpod module among the
# repository's shared packages.
halkyon_base_server:
path: ../../../packages/halkyon_base_server
serverpod: 4.0.4
serverpod_auth_idp_server: 4.0.4
serverpod_cloud_storage: 4.0.4
dev_dependencies:
lints: '>=3.0.0 <7.0.0'
serverpod_test: 4.0.4
test: ^1.25.5
serverpod:
scripts:
# Build the Flutter web app and copy it to the server's web directory.
# Windows uses xcopy since flutter's --output flag doesn't work there.
# See: https://github.com/flutter/flutter/issues/157886
# On failure, clean and retry once to clear stale Flutter build caches.
flutter_build:
windows: >-
(if exist web\app rmdir /S /Q web\app)
& cd /D ..\halkyon_todo_flutter
& set ARGS=web --base-href /
&& (call flutter build %ARGS% || (flutter clean && call flutter build %ARGS%))
&& xcopy /E /I /Y build\web ..\halkyon_todo_server\web\app
posix: |
rm -rf ../halkyon_todo_server/web/app
cd ../halkyon_todo_flutter
set -- web --base-href / --output ../halkyon_todo_server/web/app
flutter build "$@" || { flutter clean && flutter build "$@"; }
# Companion Flutter apps that `serverpod start` can launch (Ctrl+R), keyed
# by a display alias. The default device is the web server, opening the
# machine's default browser when ready. All non-reserved properties are
@ -59,6 +44,6 @@ serverpod:
flutter_apps:
halkyon_todo:
path: ../halkyon_todo_flutter
displayName: "Halkyon todo app"
displayName: "Halkyon Todo"
auto_launch: true
target: lib/driver.dart