The project was made for learning purposes.
Project highlights:
- Alembic
- Docker
- PostgreSQL
- Rate limiter
- Clean code
- Versioning
- Asynchronous operations
- Tests
- Make sure you have
uv
anddocker
(optional) installed on your machine.
Clone the repository.
Create and activate a virtual environment.
uv venv
source .venv/bin/activate
Install the project's dependencies.
uv sync
- Make sure you're in the project's root before using the following scripts.
To run tests:
bash scripts/test.sh
To build and run docker app in docker container:
bash scripts/docker.sh
You may need to use sudo bash scripts/docker.sh
.
To run locally:
bash scripts/local.sh
To install pre-commit hooks:
pre-commit install
To format and lint code use:
bash scripts/code.sh