* also automatically use hibp api key with direnv and in CI
* check for rate-limit
* don't interpret rate-limit in tests as a failure
* report errors properly
* change hibp schema's date field to string, as the date format would
prevent direct unmarshaling. instead, marshal to string, convert later
* the scheduler is in place in order not to get throttled after going
over API limit
* the scheduler detects when in testing mode and changes little bits of
behaviour
* add tests for some basic requests
* run the requests scheduler as a background service during testing
have the app create the initial admin user:
* if the db has not yet been set up
* if there are not users
* if the config value for Init.CreateAdmin is True
* if the admin password is not empty
default username, email values can be seen in modules/user/const.go
* create pkg 'modules/template'
* move template rendering code from 'handlers' to 'modules/template'
* update call sites
* walk the 'templates' dir to discover nested hierarchies
* solidify LiveMode handling (vs embedded assets)
* break out funcMap to it's own file
* general clean-up
* add Email field to User entity (+codegen)
* switch to Echo contrib sessions backed by Gorilla sessions
* use SessionCookieSecret value from the config
* stage mod,sum changes
* add clearer signup/signin redirect logic
* render error pages on 500/404s and only fall back to returning raw
errors when the error is some unexpected kind
* add username/email "exists" funcs+tests - handle "not found" and "not
unique" errors, return errors otherwise
* add handlers for signin,singup,logout...
* introduce ent ORM and add user schema
* add live mode, devel mode to selectively turn on features via
config/flags
* add templates, handle embedding moar smarter:
* live mode uses live folder structure, else embedded templates are
used
* start using tailwindcss to style stuff
* add development goodies for hot-reloading (browser-sync - bs.js)
* pimp-up config.dhall with actual custom config Type (enables remote
schema and local values only as needed)
* add justfile (alternative to makefile for process automation)