30 lines
1.0 KiB
Markdown
30 lines
1.0 KiB
Markdown
## Gatekeeper - Door access system
|
|
Status: WIP - not prod ready
|
|
|
|
Dev with `nix develop`
|
|
sync python deps with `uv sync`
|
|
start dev server `uv run fastapi dev`
|
|
Swagger UI @ http://127.0.0.1:8000/docs
|
|
start prod server `uv run fastapi run`
|
|
|
|
You need to set services.pcscd.enable = true; for the smartcard reader to work
|
|
|
|
Issues:
|
|
- documentation missing
|
|
- `nix run` currently broken
|
|
- raspberry pi image not working
|
|
- no door state
|
|
- no door operations
|
|
- hardcoded secret key in auth.py -> centralise env var loading
|
|
- i don't like the error handling in the scanner - doesn't pass errors correctly
|
|
- cors for frontend: https://fastapi.tiangolo.com/tutorial/cors
|
|
- disableCards var isn't doing anything
|
|
- BackgroundScanner shouldn't get a single session for the whole lifecycle
|
|
- input validation maybe
|
|
- too many imports
|
|
- inconsistent logging (request logging?)
|
|
- rate limiting maybe
|
|
- pretty sure the controllers are doing too much stuff
|
|
- hardware call tests or sth
|
|
- .env.example
|