Кулинарная книга #
Требования к лабораторной работе № 1 #
Сущности #
Рецепт #
- Дата и время добавления, формируется приложением автоматически.
 - Название, строка.
 - Текстовое описание, многострочный текст.
 - Список ингредиентов, строка.
 - Шаги по приготовлению, многострочный текст.
 - Примерное время приготовления, минуты.
 
Требования к лабораторной работы № 2 #
Сущности #
Ингредиент #
- Дата и время добавления, формируется приложением автоматически.
 - Название, строка.
 - Калорийность на 100 гр, число.
 
Автор #
- Дата и время добавления, формируется приложением автоматически.
 - Псевдоним, строка.
 - Почтовый адрес, строка в формате 
ХХХХ@ХХХХ. - Описание, многострочный текст.
 
Рецепт #
- Дата и время добавления, формируется приложением автоматически.
 - Название, строка.
 - Текстовое описание, многострочный текст.
 - Автор.
 - Список ингредиентов. Массив идентификаторов ингредиентов.
 - Шаги по приготовлению, многострочный текст.
 - Примерное время приготовления, минуты.
 
Детали реализации #
- На странице автора:
- Обеспечить постраничный вывод рецептов данного автора.
 - Обеспечить возможность добавить новый рецепт для данного автора.
 
 - На странице списка рецептов:
- Обеспечить возможность перехода к странице автора.
 
 - На странице рецепта:
- Обеспечить возможность перехода к странице ингредиента.
 
 - На странице ингредиента:
- Обеспечить отображение списка рецептов, которые используют данный ингредиент.
 
 - На стартовой странице обеспечить вывод статистической информации:
- Количество рецептов.
 - Самый популярный ингредиент.
 - Количество рецептов, использующих более 5 ингредиентов.
 
 
Требования к лабораторной работы № 3 #
Сущности #
Ингредиент #
- Дата и время добавления, формируется приложением автоматически.
 - Название, строка.
 - Калорийность на 100 гр, число.
 
Автор #
- Дата и время добавления, формируется приложением автоматически.
 - Псевдоним, строка.
 - Почтовый адрес, строка в формате 
ХХХХ@ХХХХ. - Описание, многострочный текст.
 
Рецепт #
- Дата и время добавления, формируется приложением автоматически.
 - Название, строка.
 - Текстовое описание, многострочный текст.
 - Автор.
 - Список ингредиентов. Массив идентификаторов ингредиентов.
 - Шаги по приготовлению, многострочный текст.
 - Примерное время приготовления, минуты.
 
Роли #
Гость #
- Просматривать стартовую страницу.
 - Просматривать список рецептов и конкретные рецепты.
 - Просматривать список авторов и страницы авторов.
 - Просматривать список ингредиентов.
 - Может зарегистрироваться в системе.
 - Может авторизоваться в системе.
 
Автор #
Доступны все возможности роли «Гость».
- Может быстро открыть свою страницу из навигационной панели.
 - На своей странице может начать добавление нового рецепта.
 - Может добавить существующий ингредиент к своему рецепту.
 - Может отправить несуществующий ингредиент на рассмотрение к администратору.
 - Может редактировать состав своего рецепта.
 - Может удалить свой рецепт.
 
Администратор #
Доступны все возможности роли «Гость».
- Может подтверждать запросы на добавление нового ингредиента с возможностью изменения названия ингредиента.
 - Может добавлять ингредиенты.
 - Может удалять ингредиенты. При удалении ингредиента он должен быть удалён из всех связных рецептов.
 - Может редактировать ингредиенты.
 - Может скрывать рецепты. После сокрытия они становятся доступны только автору и администратору.
 - Может открыть скрытый рецепт.