Продуктовый магазин

Магазин #

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

Сущности #

Товар #

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

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

Сущности #

Родительская категория #

  • Название, строка.

Примеры: Мясо, Фрукты, Овощи, Кондитерские изделия, Безалкогольные напитки и т.д. (не менее 10 категорий).

Не нужно реализовывать возможность добавления новых элементов в данный список.

Категория товара #

  • Родительская категория.
  • Название.

Примеры: Индейка, Курица, Колбасные изделия и т.д. (Не мене 3 категорий для каждой родительской категории).

Не нужно реализовывать возможность добавления новых элементов в данный список.

Производитель #

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

Товар #

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

Товар в корзине #

  • Дата и время добавления, формируется приложением автоматически.
  • Товар.

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

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

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

Сущности #

Родительская категория #

  • Название, строка.

Примеры: Мясо, Фрукты, Овощи, Кондитерские изделия, Безалкогольные напитки и т.д. (не менее 10 категорий).

Не нужно реализовывать возможность добавления новых элементов в данный список.

Категория товара #

  • Родительская категория.
  • Название.

Примеры: Индейка, Курица, Колбасные изделия и т.д. (Не мене 3 категорий для каждой родительской категории).

Не нужно реализовывать возможность добавления новых элементов в данный список.

Производитель #

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

Товар #

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

Товар в корзине #

  • Дата и время добавления, формируется приложением автоматически.
  • Товар.

Роли #

Гость #

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

Авторизованный пользователь #

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

  • Может добавлять товары в корзину.
  • Может удалять товары из корзины.
  • Может просматривать корзину. Содержание корзины для каждого пользователя должно сохраняться между перезапусками приложения.
    • Если какой-то товар в корзине перестал быть доступен, то приложение должно оповещать об этом пользователя и блокировать возможность оформления заказа.
  • Может оформлять заказ.
    • При оформлении заказа пользователю необходимо указать адрес доставки. По умолчанию данное поле заполняется местом проживания из профиля.
    • Если за время просмотра корзины какой-то товар перестал быть доступен или изменил свою стоимость, то приложение должно отобразить актуальную корзину с соответствующим сообщением.
    • После оформления заказа соответствующий объём товара должен быть изъят из хранилища.

Работник магазина #

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

  • Может добавлять новые товары в магазин.
  • Может изменять количество товаров в магазине.
  • Может изменять стоимость товара в магазине.
  • Может удалять товары из магазина.
  • Может управлять списками родительских категорий и категорий. Удалять можно только элементы, для которых нет товаров.

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