Магазин #
Требования к лабораторной работе № 1 #
Сущности #
Товар #
- Дата и время добавления, формируется приложением автоматически.
 - Категория, строка.
 - Название, строка.
 - Описание, мнострочный текст.
 - Цена, целое число в рублях.
 - Количество, штуки.
 - Производитель, строка.
 - Страна производства, строка.
 
Требования к лабораторной работе № 2 #
Сущности #
Родительская категория #
- Название, строка.
 
Примеры: Мясо, Фрукты, Овощи, Кондитерские изделия, Безалкогольные напитки и т.д. (не менее 10 категорий).
Не нужно реализовывать возможность добавления новых элементов в данный список.
Категория товара #
- Родительская категория.
 - Название.
 
Примеры: Индейка, Курица, Колбасные изделия и т.д. (Не мене 3 категорий для каждой родительской категории).
Не нужно реализовывать возможность добавления новых элементов в данный список.
Производитель #
- Дата и время добавления, формируется приложением автоматически.
 - Название, строка.
 
Товар #
- Дата и время добавления, формируется приложением автоматически.
 - Категория.
 - Название, строка.
 - Описание, мнострочный текст.
 - Цена, целое число в рублях.
 - Количество, штуки.
 - Производитель.
 - Страна производства, строка.
 
Товар в корзине #
- Дата и время добавления, формируется приложением автоматически.
 - Товар.
 
Детали реализации #
- Стартовая страница должна отображать родительские категории и категории в иерархическом виде.
- Рядом с каждой категорией должно быть указано количество товаров.
 - При нажатии на название категории должен происходить переход к списку товаров в данной категории.
 
 - На странице родительской категории должен отображаться список её категорий.
- Рядом с каждой категорией должно быть указано количество товаров.
 - При нажатии на название категории должен происходить переход к списку товаров в данной категории.
 
 - Со страницы товара пользователь может перейти на страницы родительской категории и списка товаров своей категории.
 - На странице производителя отображается список товаров этого производителя с возможностью перейти на страницу конкретного товара.
 - На странице товара пользователь может добавить его в свою корзину.
 - На странице корзины пользователь может убрать любой товар из своей корзины.
 
Требования к лабораторной работе № 3 #
Сущности #
Родительская категория #
- Название, строка.
 
Примеры: Мясо, Фрукты, Овощи, Кондитерские изделия, Безалкогольные напитки и т.д. (не менее 10 категорий).
Не нужно реализовывать возможность добавления новых элементов в данный список.
Категория товара #
- Родительская категория.
 - Название.
 
Примеры: Индейка, Курица, Колбасные изделия и т.д. (Не мене 3 категорий для каждой родительской категории).
Не нужно реализовывать возможность добавления новых элементов в данный список.
Производитель #
- Дата и время добавления, формируется приложением автоматически.
 - Название, строка.
 
Товар #
- Дата и время добавления, формируется приложением автоматически.
 - Категория.
 - Название, строка.
 - Описание, мнострочный текст.
 - Цена, целое число в рублях.
 - Количество, штуки.
 - Производитель.
 - Страна производства, строка.
 
Товар в корзине #
- Дата и время добавления, формируется приложением автоматически.
 - Товар.
 
Роли #
Гость #
- Может просматривать стартовую страницу.
 - Может просматривать список родительских категорий и категорий.
 - Может просматривать страницу товара.
 - Может зарегистрироваться в системе. При регистрации пользователь должен указать:
- ФИО.
 - Место проживания.
 
 - Может авторизоваться в системе.
 
Авторизованный пользователь #
Доступны все возможности роли «Гость».
- Может добавлять товары в корзину.
 - Может удалять товары из корзины.
 - Может просматривать корзину. Содержание корзины для каждого пользователя должно сохраняться между перезапусками приложения.
- Если какой-то товар в корзине перестал быть доступен, то приложение должно оповещать об этом пользователя и блокировать возможность оформления заказа.
 
 - Может оформлять заказ.
- При оформлении заказа пользователю необходимо указать адрес доставки. По умолчанию данное поле заполняется местом проживания из профиля.
 - Если за время просмотра корзины какой-то товар перестал быть доступен или изменил свою стоимость, то приложение должно отобразить актуальную корзину с соответствующим сообщением.
 - После оформления заказа соответствующий объём товара должен быть изъят из хранилища.
 
 
Работник магазина #
Доступны все возможности роли «Гость».
- Может добавлять новые товары в магазин.
 - Может изменять количество товаров в магазине.
 - Может изменять стоимость товара в магазине.
 - Может удалять товары из магазина.
 - Может управлять списками родительских категорий и категорий. Удалять можно только элементы, для которых нет товаров.