halkyon/halkyon_learn_server/README.md

41 lines
1.7 KiB
Markdown
Raw Normal View History

# 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, 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.
- **Development:** put the file into `halkyon_learn_server/dictionaries/` and
restart `serverpod start`.
- **An instance:** put it into `deploy/dictionaries/` beside `compose.yaml`
(mounted read-only as `/app/dictionaries`) and restart the server container.
`DICTIONARIES_DIR` names another folder.
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`.