fastfood/README.md

71 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# fastfood
Fastapi веб приложение реализующее api для общепита.
## Описание
Данный проект, это результат выполнения практических домашних заданий интенсива от YLAB Development. Проект реализован на фреймворке fastapi, с использованием sqlalchemy. В качестве базы данных используется postgresql.
## Техническое задание
### Спринт 3 - Паттерны и принципы разработки
1.Вынести бизнес логику и запросы в БД в отдельные слои приложения.
2.Добавить кэширование запросов к API с использованием Redis. Не забыть про инвалидацию кэша.
3.Добавить pre-commit хуки в проект. Файл yaml будет прикреплен к ДЗ.
4.Покрыть проект type hints (тайпхинтами)
5.* Описать ручки API в соответствий c OpenAPI
6.** Реализовать в тестах аналог Django reverse() для FastAPI
Требования:
●Код должен проходить все линтеры.
●Код должен соответствовать принципам SOLID, DRY, KISS.
●Проект должен запускаться по одной команде (докер).
●Проект должен проходить все Postman тесты (коллекция с Вебинара №1).
●Тесты написанные вами после Вебинара №2, должны быть актуальны, запускать и успешно проходить
Дополнительно:
Контейнеры с проектом и с тестами запускаются разными командами.
## Зависимости
- docker
- docker-compose
## Установка
Клонируйте репозиторий
> `$ git clone https://git.pi3c.ru/pi3c/fastfood.git`
Перейдите в каталог
> `$ cd fastfood`
Запуск/остановка образов:
- Запуск FAstAPI приложения
> `$ docker-compose -f compose_app.yml up `
После успешного запуска образов документация по API будет доступна по адресу <a href="http://localhost:8000/docs">http://localhost:8000</a>
По завершении работы остановите контейнеры
> `$ docker-compose -f compose_app.yml down`
- Запуск тестов
> `$ docker-compose -f compose_test.yml up`
По завершении работы остановите контейнеры
> `$ docker-compose -f compose_test.yml down`
## TODO
- Написать тесты для кривых данных
- Много чего другого :)
## Авторы
- Сергей Ванюшкин <pi3c@yandex.ru>
## Лицензия
Распространяется под [MIT лицензией](https://mit-license.org/).