Menu Service - Shahnovski/ProjectSOA GitHub Wiki

Сервис для составления меню

ER-диаграмма базы данных

Menu Service

В базе данных хранится следующая информация:

  1. Сведения о меню
    • Id меню
    • Имя пользователя (логин)
    • Id дня недели
    • Id приема пищи (завтра, обед или ужин)
    • Id блюда
  2. Дни недели
    • Id дня недели
    • Название дня
  3. Прием пищи
    • Id приема пищи
    • Название (завтра, обед или ужин)
  4. Блюдо
    • Id блюда
    • Название блюда
  5. Ингредиент
    • Id ингредиента
    • Название ингредиента
    • Код ингредиента
  6. Блюда_vs_ингредиенты (связующая таблица)
    • Id блюда
    • Id ингредиента
    • Количество ингредиента в составе блюда

Описание функциональных возможностей

Неавторизованному пользователю недоступны никакие функции, кроме авторизации и регистрации.

Авторизованный пользователь с ролью USER обладает всеми возможностями неавторизованного пользователя, а также может составить себе меню на неделю, путем добавления в него соответствующих блюд, из имеющихся в базе) для каждого приема пищи в определенные дни. Также пользователь может просмотреть информацию о калорийности соответствующих блюд и увидеть получающуюся цену за все ингредиенты. Также есть возможность отправлять всё в корзину в магазин для покупки всего необходимого.

Авторизованным пользователям с ролью ADMIN доступны все возможности пользователя с ролью USER, а также следующие:

  1. Работать с ингредиентами (добавлять, удалять, изменять).
  2. Изменять сведения о любом блюде.
  3. Удалить любой ингредиент в составе блюда или само блюдо из базы данных.
  4. Осуществлять управления меню пользователей и всеми остальными данными в базе.