From 706a8ec13c4b6acc2f945738a285929ead7a7c16 Mon Sep 17 00:00:00 2001 From: pi3c Date: Mon, 22 Jan 2024 22:05:52 +0300 Subject: [PATCH] Readme --- README.md | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 353dfa6..0de2466 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,27 @@ Fastapi веб приложение реализующее api для общеп ## Описание Данный проект, это результат выполнения практического домашнего задания интенсива от YLAB Development. Проект реализован на фреймворке fastapi, с использованием sqlalchemy. В качестве базы данных используется postgresql. -### Техническое задание +### Техническое задание +Написать проект на FastAPI с использованием PostgreSQL в качестве БД. В проекте следует реализовать REST API по работе с меню ресторана, все CRUD операции. Для проверки задания, к презентаций будет приложена Postman коллекция с тестами. Задание выполнено, если все тесты проходят успешно. +Даны 3 сущности: Меню, Подменю, Блюдо. + +Зависимости: +- У меню есть подменю, которые к ней привязаны. +- У подменю есть блюда. + +Условия: +- Блюдо не может быть привязано напрямую к меню, минуя подменю. +- Блюдо не может находиться в 2-х подменю одновременно. +- Подменю не может находиться в 2-х меню одновременно. +- Если удалить меню, должны удалиться все подменю и блюда этого меню. +- Если удалить подменю, должны удалиться все блюда этого подменю. +- Цены блюд выводить с округлением до 2 знаков после запятой. +- Во время выдачи списка меню, для каждого меню добавлять кол-во подменю и блюд в этом меню. +- Во время выдачи списка подменю, для каждого подменю добавлять кол-во блюд в этом подменю. +- Во время запуска тестового сценария БД должна быть пуста. + +В папке ./postman_scripts находятся фалы тестов Postman, для тестирования функционала проекта. ## Возможности В проекте реализованы 3 сущности: Menu, SubMenu и Dish. Для каждого них реализованы 4 метода http запросов: GET, POST, PATCH и DELETE c помощью которых можно управлять данными. @@ -34,6 +53,14 @@ Fastapi веб приложение реализующее api для общеп Создастся виртуальное окружение и установятся зависимости +Файл example.env является образцом файла .env, который необходимо создать перед запуском проекта. +В нем указанны переменные необходимые для подключения к БД. +Созданим файл .env + +>`$ cp ./example.env ./.env` + +Далее отредактируйте .env файл в соответствии с Вашими данными подключения к БД + ## Запуск Запуск проекта возможен в 2х режимах: - Запуск в режиме "prod" с ключем --run-server @@ -65,6 +92,6 @@ Fastapi веб приложение реализующее api для общеп - Сергей Ванюшкин ## Лицензия -Распространяется под [MIT лицензией](https://www.opensource.org/licenses/mit-license.php). +Распространяется под [MIT лицензией](https://mit-license.org/). Подробнее на русском в файле LICENSE.md