Skip to content

Repository files navigation

Ristorante_menu

Cервис меню ресторана

Включает в себя позиции из нескольких меню, которые состоят из подменю, а те в свою очередь - из блюд. Для кэширования запросов используется Redis.


Стек

  • Python 3.11.2
  • FastAPI 0.101.0
  • SQLAlchemy 2.0.20
  • Pydantic 2.1.1
  • PostgreSQL 15.1
  • Docker
  • Pytest 7.4.0
  • Redis 4.+

Запуск проекта в контейнерах Docker

Клонировать проект

git clone https://github.com/mikepavlos/ristorante_menu.git

Создать .env файл, либо изменить образец .env.example в директории проекта, улалив .example.

Запустить контейнеры командой

 docker compose up -d --build

Документация к API localhost:8000/ либо localhost:8000/docs# При разработке используется автоматическая проверка линтерами с применением pre-commit-hooks. Для его запуска один раз после клонирования ввести команду pre-commit install. В дальнейшем при каждом коммите будет происходить отработка pre-commit с проверкой и исправлениями линтерами. Для этого ввести в командной строке

git add .
git commit -m "Текст коммита"

Если линтеры обнаружат или исправят ошибку - после рефакторинга повторить команды коммита.


Запуск тестирования эндпоинтов

Тесты эндпоинтов собираются в отдельный контейнер командой

docker compose -f docker-compose_test.yml up --build

Необходимо дождаться сборки контейнеров. При этом контейнер с тестами автоматически собирается, прогоняет тесты и останавливается. Результаты тестов выводятся в консоль вместе с логами.


Автор

Михаил Павлов https://github.com/mikepavlos

About

Простое ресторанное меню (меню-подменю-блюдо).

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages