2022-11-18 16:08:50 -05:00
# Todo API
## Frontend
### Development dependencies
- `prettier` : Formatter
## Backend
2022-12-10 18:46:51 -05:00
### Development workflow
- Run `eval (pdm venv activate in-project)` (if you are using Fish shell) or `eval $(pdm venv activate in-project)` (if you are using bash/zsh) at the `backend` folder root.
### Dependencies
2022-11-18 16:08:50 -05:00
2022-11-19 15:13:38 -05:00
#### Python dependencies
2022-11-18 16:08:50 -05:00
2022-11-19 15:13:38 -05:00
- `quart` : a micro-webframework, async version of Flask.
2022-11-18 16:08:50 -05:00
- `black` : Code formatter
- `isort` : Import formatter
- `mypy` : Type checking
- `flake8` : General Python bugs
- `vulture` : Find unused code in Python programs
2022-11-19 15:13:38 -05:00
- `pytest` : For testing (turbocharged with `async` )
- `bcrypt` : Hashing and salting password.
- `zxcvbn` : Test password strength.
- `freezegun` : Check for expired token.
2022-12-10 18:46:51 -05:00
- `quart-rate-limiter` : Rate limiting
- `pydantic` and `quart-schema` : Request/Response validation
2022-11-18 16:08:50 -05:00
#### SQL Dev-deps
- `bandit` : Check for SQL injection vulnerabilities
#### Miscs Dev-deps
- `djhtml` : Generate jinja templates html for emails