Кулинарная книга

Кулинарная книга #

Требования к лабораторной работе № 1 #

Сущности #

Рецепт #

  • Дата и время добавления, формируется приложением автоматически.
  • Название, строка.
  • Текстовое описание, многострочный текст.
  • Список ингредиентов, строка.
  • Шаги по приготовлению, многострочный текст.
  • Примерное время приготовления, минуты.

Требования к лабораторной работе № 2 #

Сущности #

Ингредиент #

  • Дата и время добавления, формируется приложением автоматически.
  • Название, строка.
  • Калорийность на 100 гр, число.

Автор #

  • Дата и время добавления, формируется приложением автоматически.
  • Псевдоним, строка.
  • Почтовый адрес, строка в формате ХХХХ@ХХХХ.
  • Описание, многострочный текст.

Рецепт #

  • Дата и время добавления, формируется приложением автоматически.
  • Название, строка.
  • Текстовое описание, многострочный текст.
  • Автор.
  • Список ингредиентов. Массив идентификаторов ингредиентов.
  • Шаги по приготовлению, многострочный текст.
  • Примерное время приготовления, минуты.

Детали реализации #

  • На странице автора:
    • Обеспечить постраничный вывод рецептов данного автора.
    • Обеспечить возможность добавить новый рецепт для данного автора.
  • На странице списка рецептов:
    • Обеспечить возможность перехода к странице автора.
  • На странице рецепта:
    • Обеспечить возможность перехода к странице ингредиента.
  • На странице ингредиента:
    • Обеспечить отображение списка рецептов, которые используют данный ингредиент.
  • На стартовой странице обеспечить вывод статистической информации:
    • Количество рецептов.
    • Самый популярный ингредиент.
    • Количество рецептов, использующих более 5 ингредиентов.

Требования к лабораторной работы № 3 #

Сущности #

Ингредиент #

  • Дата и время добавления, формируется приложением автоматически.
  • Название, строка.
  • Калорийность на 100 гр, число.

Автор #

  • Дата и время добавления, формируется приложением автоматически.
  • Псевдоним, строка.
  • Почтовый адрес, строка в формате ХХХХ@ХХХХ.
  • Описание, многострочный текст.

Рецепт #

  • Дата и время добавления, формируется приложением автоматически.
  • Название, строка.
  • Текстовое описание, многострочный текст.
  • Автор.
  • Список ингредиентов. Массив идентификаторов ингредиентов.
  • Шаги по приготовлению, многострочный текст.
  • Примерное время приготовления, минуты.

Роли #

Гость #

  • Просматривать стартовую страницу.
  • Просматривать список рецептов и конкретные рецепты.
  • Просматривать список авторов и страницы авторов.
  • Просматривать список ингредиентов.
  • Может зарегистрироваться в системе.
  • Может авторизоваться в системе.

Автор #

Доступны все возможности роли «Гость».

  • Может быстро открыть свою страницу из навигационной панели.
  • На своей странице может начать добавление нового рецепта.
  • Может добавить существующий ингредиент к своему рецепту.
  • Может отправить несуществующий ингредиент на рассмотрение к администратору.
  • Может редактировать состав своего рецепта.
  • Может удалить свой рецепт.

Администратор #

Доступны все возможности роли «Гость».

  • Может подтверждать запросы на добавление нового ингредиента с возможностью изменения названия ингредиента.
  • Может добавлять ингредиенты.
  • Может удалять ингредиенты. При удалении ингредиента он должен быть удалён из всех связных рецептов.
  • Может редактировать ингредиенты.
  • Может скрывать рецепты. После сокрытия они становятся доступны только автору и администратору.
  • Может открыть скрытый рецепт.

© A. M. Васильев, 2022, CC BY-SA 4.0, andrey@crafted.su