Product описание проекта

Веб-приложение представляет собой бэкенд для магазина продуктов.

Тестовый сервис доступен по адресу: https://inlaid-backbone-404620.oa.r.appspot.com:443

Swagger: https://inlaid-backbone-404620.oa.r.appspot.com/swagger-ui/index.html#/


Клиентская часть для покупателя это мобильное приложение. https://docs.google.com/document/d/1V4UYfS_FoE7TKZPsxRnOKgmIUOVC6PAPfckyHo0jjow/edit

Методы доступны для авторизованного пользователя.

Тестовый профиль:

email: user@mail.ru
password: user

  • Добавить продукт в корзину в количестве 1 штуки.
  • Убрать продукт из корзины в количестве 1 штуки.
  • Получить все продукты в корзине пользователя с общей ценой.
  • Добавление заказа. После добавления продуктов в заказ корзина пользователя очищается.

Админка продавца. https://docs.google.com/document/d/1LKvCVMKkwgnhYm18X58gwe39EMCXJaVhlxNKXYNVSfM/edit

Методы доступны авторизованному пользователю с ролью "Сотрудник"(staff).

Тестовый профиль:

email: staff@mail.ru password: staff

Работа с заказами:

  • Получение списка всех заказов.
  • Получение заказов по id.
  • Изменение количества продуктов в заказе.
  • Добавление продукта в заказ.
  • Удаление продукта из заказа. При изменении состава заказа общая стоимость не меняется.
  • Изменение статуса заказа. при изменении статуса с "Собран" на "Доставлен" происходит уменьшение количества продукта на складе.

Управления наличием (складом):

  • Получение списка всех категорий.
  • Получение категории по id.
  • Добавление новой категории. Осуществляется проверка на существование категории с таким же наименованием.
  • Изменение категории. Осуществляется проверка на существование категории с таким же наименованием.
  • Удаление категории. Осуществляется проверка на наличие продуктов в категории.
  • Получение всех продуктов в категории.
  • Получение продукта по id.
  • Добавление нового продукта. Осуществляется проверка на существование продукта с таким же наименованием.
  • Изменение продукта, в т.ч. количества на складе. Осуществляется проверка на существование продукта с таким же наименованием.
  • Удаление продукта. При изменении/удалении продукта название и цена в уже созданных заказах не меняется.

Пользователю с ролью Admin доступны все методы:

Тестовый профиль:

email: admin@mail.ru password: admin


Для доступа к документации Swagger запустить проект локально и перейти по адресу: http://localhost:8080/swagger-ui/index.html#/

Запустить скомпилированный проект из командной строки: java -jar C:\путь к папке\target\Product-0.0.1-SNAPSHOT.jar