This is an API service for creating, editing, deleting, retrieving list and getting information about a particular recipe. The service supports basic and advanced functions, such as filtering by ingredient list, cooking step times and sorting the list by total cooking time, user authentication and authorization, the ability to add a score, upload images and more.
- Clone the repository
- Create a virtual environment
- Install the requirements
python3 -m venv env
source env/bin/activate
pip install poetry
poetry install
Create .env file, extract the virtual environment variables into the .env file (you can find an example in env.example)
alembic upgrade head
uvicorn main:app --reload --host 0.0.0.0 --port 8000
Run linting and formatting
flake8 . --count --statistics --show-source &&
black . &&
isort --check .
- Watch commands in the Makefile
make help
- Build docker image
make build
- Run docker container
make up
- Run tests
make test
- Stop docker container
make down
- Clean all docker containers
make prune
- FastAPI 0.95.1
- Alembic 1.10.3
- SQLAlchemy 2.0.9
- PostgreSQL 14.6
- Poetry 1.1.11
- Docker 20.10.17