The application written in FastApi is a platform for selling and buying books.
A Makefile with useful commands has been added to the repository. The commands are called in the console in this way:
make linters
make install_reqs
Commands are executed in the console:
- Copy project. Start work with changing file .env.example to .env
- Deploying Postgres DB in a docker container
make up_compose
- Installing dependencies for the FastAPI server
make install_reqs
- Starting the FastAPI server
uvicorn src.main:app --reload
For convenience and adherence to the principles of clean architecture, the project is divided into the following packages:
-
configurations
— layer for storing configurations, constants, parameters, and project settings -
models
— layer for storing models (ORM or Data Classes) -
routers
— layer for setting URLs for different endpoints -
schemas
— layer containing pydantic schemes, responsible for serialization and validation