Restaurant menu REST API with CRUD-operations, cache and pancakes!
See OpenAPI Specification: http://0.0.0.0:8000/
π Python3
β‘ FastAPI Web framework
π PostgreSQL database
β³ Redis-cache
π SQLAlchemy ORM
π Alembic database migration tool
π¦ Uvicorn ASGI web server
π³ Docker containers
π₯¦ Celery-tasks
π° RabbitMQ broker
β
Pytest
git clone https://github.com/Aliakseeva/MenuApp
Make sure you are located in project repository!
docker-compose up
docker-compose -f docker-compose-tests.yml up
git clone https://github.com/Aliakseeva/MenuApp
DB_HOST=localhost
DB_PORT=5432
DB_NAME=postgres
DB_USER=postgres
DB_PASS=postgres
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=0
RABBITMQ_HOST=rabbit
RABBITMQ_PORT=5672
RABBITMQ_DEFAULT_USER=rabbit
RABBITMQ_DEFAULT_PASS=rabbit
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS='-rabbit disk_free_limit 2147483648'
Make sure you are located in project repository!
python -m venv venv
source MenuApp/venv/Scripts/activate
pip install -r MenuApp/requirements.txt
cd MenuApp/
alembic upgrade head
redis-server
docker run -d -p 5672:5672 rabbit
uvicorn src.main:app --reload