RESTful API для управления меню, имеет таблицы: Меню, подменю, блюдо. CRUD операции для всех таблиц, кэширование ответов, импорт и экспорт данных в формате xlsx, (также Google Sheet)
Подсчёт процентов скидки из столбца G / Реализовано через computed_field в /app/schemas/data.py, /app/schemas/dish.py
git clone https://github.com/suntrackspb/fastapi-menu.git
cd fastapi-menu
#Start
docker-compose up -d --build
Open http://localhost:8000/docs/
#Stop & delete
docker-compose down --rmi all --remove-orphans
docker-compose -f docker-compose-test.yaml up -d --build
docker start -a fastapi_test_app
#Stop & delete
docker-compose -f docker-compose-test.yaml down --rmi all --remove-orphans
Tested:
- on Manjaro Linux: conda package manager, python 3.10.12
- on WSL2 Ubuntu: pip package manager, Python 3.10.6
- on Windows 11: pip package manager, Python 3.11.3
# Create PostgreSQL database instance
docker run -itd \
--name fastapi-menu-db \
-e POSTGRES_PASSWORD=postgres \
-p 5432:5432 \
-v /dist:/var/lib/postgresql/dist \
postgres
or use your PostgreSQL Server, but you need change auth data in .env file
docker run --name some-redis -d redis
#Linux:
python3 -m venv venv
#Windows PowerShell:
python -m venv venv
#Linux:
source venv/bin/activate
#Windows PowerShell:
.\venv\Scripts\Activate.ps1
#Linux:
pip install -r requirements.txt
#Windows PowerShell:
.\venv\Scripts\python.exe -m pip install -r requirements.txt
#Linux:
python3 run.py
#Windows PowerShell:
python run.py
#Run Tests
pytest