chore: Halkyon Learn moves into apps/learn
Its server, client, app and curator, and the tools that write its assets (maps, Anki fixtures, icons), as they are; paths are fixed in the commits that follow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
11abd9afce
commit
649499be23
1 changed files with 0 additions and 0 deletions
|
|
@ -1,52 +0,0 @@
|
|||
# halkyon_learn_server
|
||||
|
||||
This is the starting point for your Serverpod server.
|
||||
|
||||
Start your server by running:
|
||||
|
||||
cd halkyon_learn
|
||||
serverpod start
|
||||
|
||||
When you are finished, you can shut down the running server with `Q`.
|
||||
|
||||
## Dictionaries
|
||||
|
||||
The dictionaries people look words up in (JMdict, …) are reference data the
|
||||
server holds for everyone. They come as dictionary files, which
|
||||
`halkyon_learn_curator` makes from the sources' downloads (its README says how).
|
||||
At every start, and every hour at seven past, the server loads the files in
|
||||
its `dictionaries` folder that changed since they were last loaded (by their
|
||||
SHA-256): in the background, a source at a time, and all at once, so searches
|
||||
meanwhile still find the old entries. A file it can't read is logged and left
|
||||
out. A dictionary whose file is gone is unloaded, once every file in the folder
|
||||
could be read (the curator removes the files of languages an instance no longer
|
||||
keeps). `DICTIONARIES_DIR` names another folder.
|
||||
|
||||
EDRDG's licence asks a server showing its dictionaries to update them at least
|
||||
once a month:
|
||||
|
||||
- **An instance** keeps them current by itself: the `dictionaries` service in
|
||||
`deploy/compose.yaml` (the curator, in a container of its own) downloads
|
||||
EDRDG's files of the day once its files are a week old, converts them, and
|
||||
replaces them in a volume the server reads (`curate update`, the curator's
|
||||
README); the server takes them up within the hour. To supply files yourself
|
||||
instead, remove the service and mount `deploy/dictionaries/` into the server
|
||||
(`compose.yaml` says how), and update them monthly.
|
||||
- **Development:** `dart run halkyon_learn_curator:curate update --into
|
||||
../halkyon_learn_server/dictionaries` in the curator's folder (about a
|
||||
minute); the server takes them up within the hour.
|
||||
|
||||
JMdict in English, with the JLPT levels and Tatoeba's example sentences, is
|
||||
about 20 MB gzipped and takes the server half a minute to load (219,000
|
||||
entries). KANJIDIC2 in English, with the JLPT levels of the kanji and the kana,
|
||||
is a dictionary of characters beside it (`kanjidic-en.jsonl.gz`, 0.7 MB,
|
||||
12,800 entries): the app's Kanji & kana tab. Their licences (CC BY-SA 4.0;
|
||||
CC BY 2.0 FR for the sentences; CC BY for the JLPT lists) ask for attribution:
|
||||
the app lists the credits each file carries.
|
||||
|
||||
## Licence
|
||||
|
||||
Copyright (C) 2026 The Halkyon Learn contributors
|
||||
|
||||
Licensed under the Server Side Public License, version 1 (`SSPL-1.0`); the full text
|
||||
is in `LICENSE`.
|
||||
Loading…
Reference in a new issue