* build(backend): ensure that test scripting returns an error code if steps fail
* build(backend): wait for database to be ready before running migrations
* build(backend): extra sleep after successful healthcheck
* fix(backend): ensure that ci environment expects same DB port as test
* build(backend): better error handling in test script
* build(backend): remove arbitrary sleep
* build(backend): requirements-locks to use venv directly to avoid needing to activate
* build(backend): taskfile cleaning, no more sourcing
* build(frontend): remove unneeded syntax, cmds>cmd for one-liners
* docs: instructors on local setup
* ci: hoisted default working directory settings
* build(backend): more verbosity on test + error handling
* fix(backend): raise HTTPException, not return on details fetch
* fix(backend): get inserted ID instead of row tuple
* test(backend): add tests for list + details routes
* fix(backend): centralized settings, fix refs
* build(backend): pytest configuration points at the right path
* build(backend): test tooling script
* ci(backend): use taskfile to trigger tests in ci
* test(backend): stub db-test
* ci(backend): use Task for backend steps, remove redundant bootstrap