Menu Service - Shahnovski/ProjectSOA GitHub Wiki
Сервис для составления меню
ER-диаграмма базы данных
В базе данных хранится следующая информация:
- Сведения о меню
- Id меню
- Имя пользователя (логин)
- Id дня недели
- Id приема пищи (завтра, обед или ужин)
- Id блюда
- Дни недели
- Id дня недели
- Название дня
- Прием пищи
- Id приема пищи
- Название (завтра, обед или ужин)
- Блюдо
- Id блюда
- Название блюда
- Ингредиент
- Id ингредиента
- Название ингредиента
- Код ингредиента
- Блюда_vs_ингредиенты (связующая таблица)
- Id блюда
- Id ингредиента
- Количество ингредиента в составе блюда
Описание функциональных возможностей
Неавторизованному пользователю недоступны никакие функции, кроме авторизации и регистрации.
Авторизованный пользователь с ролью USER обладает всеми возможностями неавторизованного пользователя, а также может составить себе меню на неделю, путем добавления в него соответствующих блюд, из имеющихся в базе) для каждого приема пищи в определенные дни. Также пользователь может просмотреть информацию о калорийности соответствующих блюд и увидеть получающуюся цену за все ингредиенты. Также есть возможность отправлять всё в корзину в магазин для покупки всего необходимого.
Авторизованным пользователям с ролью ADMIN доступны все возможности пользователя с ролью USER, а также следующие:
- Работать с ингредиентами (добавлять, удалять, изменять).
- Изменять сведения о любом блюде.
- Удалить любой ингредиент в составе блюда или само блюдо из базы данных.
- Осуществлять управления меню пользователей и всеми остальными данными в базе.