modulepackage
0.0.0-20241203080605-cd6929d3f18e
Repository: https://github.com/pandorasnox/lettr.git
Documentation: pkg.go.dev
# README
lettr
known issues
- If server restarts while playing, the next guess will end in a "fake rows" error. Resolved by reloading the page.
plan of action
- generate session (cookie) when none is present
- keep user data in server memory
- optional: session memory management based on cookie lifetime
quiz
what happens on server side
- word generation – requires: allowed word list
- input validation (check matches) – requires: allowed word list, generated/current word, input of last word, number of tries
- trigger like quiz win/fail – requires: number of tries
- refactoring
- rename wordle to
lettr
bec of trademark - use packages instead of everythiung in one file
- move leftover routing from main.go to routes packages
- session handling
- rename wordle to
- check out https://github.com/torenware/vite-go
open todo
- must
- word not InWordDB
- website app version via ??? (assets? or on webpage?)
- (mobile) keyboard (use + indication for used letters)
- protect against request size + correct http 413 error code throw
- fix scripts/tools.sh func_exec_cli passing parameter issue
- bugfix: full page get form submit request on random occations when it should just be a htmx post
- avoid same word twice (words to exclude (previous taken quizes))
- editorial work: e.g. words like games or gamer are missing + maybe we introduce a common vs uncommen word list
- word suggestion (button to save (unknown) word eg. in LiteFS/email/github-issue/something)
- form spam protection mechanism
- easy honeypot (html form fields)
- captcha: https://github.com/altcha-org/altcha
- other (research task)?
- form spam protection mechanism
- corpora dataset export https://corpora.uni-leipzig.de/en/res?corpusId=eng_news_2023&word=would
- https://api.wortschatz-leipzig.de/ws/swagger-ui/index.html#/Words/getWordInformation
- https://wortschatz.uni-leipzig.de/en/download/English
- word suggestion (button to save (unknown) word eg. in LiteFS/email/github-issue/something)
- fix past words display
- add github action ci pipeline build + tests
- build
- tests
- linting
- test image build
- formatting
- add imprint/link to imprint
- fix letter hints is not reset with new game bug
- add metrics endpoint
- tailwind check build succes (with files)
- os.SIGNAL handling (gracefull server Shutdown)
- add scheduled RemoveExpiredSessions func (go routine in main.go)
- nice-to-have
- option for double letter hint
- Circuit Breaker Support
- pick word dataset picker
- get definition (e.g. wikitionary)
- options:
- https://raw.githubusercontent.com/wordset/wordset-dictionary/master/data/%s.json
- wikitionary API
- openthesaurus (de only)
- options:
- hint feature / give me one letter
- ui languge should also change
- ESLint
- http error codes:
- 414 URI Too Long
- 431 Request Header Fields Too Large (RFC 6585)
- improve VS Code dev container
- htmx routing ? (keep nav + footer but change body + change url)
- mark suggested word on keyboard (pink letters)