За 6 спринтов (по неделе каждый) расширить возможности проекта, который взяли за основу у одного из 8 участников. Расширение интернет-магазина новым функционалом происходит на основании предпочтений заказчика в виде job-story и user-story.
Интернет-магазин предоставляет любому посетителю следующие возможности:
- просматривать каталог товаров с возможностью фильтрации товаров по цене, названию и категории;
- просматривать карточки товаров с подробным их описанием и изображением;
- просматривать отзывы о товарах и среднюю оценку покупателей по каждому товару;
- регистрироваться в качестве нового покупателя, если посетитель не вошёл в магазин;
- входить в магазин в случае наличия личного кабинета;
- пользоваться корзиной;
- помещать товары в Избранное и удалять их оттуда.
Интернет-магазин предоставляет менеджерам следующие возможности:
- редактировать состав товаров и их свойства:
- редактировать карточку товара с подробным описанием его потребительских свойств;
- удалять товар из каталога;
- создавать новые карточки товаров с подробным описанием их потребительских свойств;
- делать email-рассылки о возврате товаров в продажу после временного их отсутствия;
- загружать и удалять изображения товаров.
Интернет-магазин предоставляет администраторам следующие возможности:
- просматривать список пользователей магазина;
- блокировать, разблокировать доступ конкретным пользователям к магазину;
- удалять отзывы покупателей о товарах.
Интернет-магазин предоставляет супер админу следующие возможности:
- назначать роли администраторам и менеджерам.
Интернет-магазин предоставляет покупателям следующие возможности:
- пользоваться личным кабинетом;
- просматривать и редактировать свои персональные данные:
- Ф.И.О.;
- адрес электронной почты;
- изменять пароль;
- просматривать:
- своё имя пользователя (ник);
- кем владелец личного кабинета является в магазине;
- загружать и просматривать свой аватар;
- оставлять и редактировать свои отзывы;
- создавать, просматривать и удалять свои заказы;
- подписываться на уведомления о поступлении временно отсутствующих товаров в продажу.
Пользователь интернет-магазина может быть менеджером, администратором и покупателем одновременно. Супер админ обладает всеми правами менеджера, администратора и покупателя. Супер админ не может быть заблокирован.
- покупатель;
- менеджер;
- администратор;
- супер админ;
- гость.
Покупатель просматривает товары из каталога, добавляет их в корзину, оформляет и просматривает свои заказы, может подписаться на email-рассылку о возврате временно отсутствующего товара в продажу. Это зарегистрированный пользователь, прошедший процедуру аутентификации. Менеджер добавляет новые товары, редактирует, удаляет из каталога существующие и делает рассылку о возврате товаров в продажу, подписавшимся на это пользователям. Администратор занимается модерацией отзывов покупателей о товарах, блокирует пользователей, нарушающих правила интернет-магазина. Супер админ назначает менеджеров и администраторов, чтобы они управляли магазином. Гость просматривает товары из каталога, добавляет их в корзину, но не имеет возможности оформить заказ, потому что не зарегистрирован или не прошёл процедуру аутентификации.
В проекте используются следующие технологии:
- AngularJS
- Redis
- Lombok
- Java 17
- Spring Boot
- Spring Cloud Gateway
- Spring Web Service
- Spring WebFlux
- Spring Security
- Spring Data MongoDB
- Spring Data Redis
- Spring Data JPA
- JUnit
- Flyway Migration
- MongoDB
- Docker
- PostgreSQL
- Swagger
- Maven
- Java Mail Api
- git clone https://github.com/DVPeshe/Scrum.git
- cd Scrum
- mvn clean install
- docker-compose up -d
- Открыть в браузере http://localhost:3000/market-front
- git clone https://github.com/DVPeshe/Scrum.git
- Войти в проект с помощью IntelliJ IDEA.
- Выполнить команды maven clean install в IntelliJ IDEA.
- В IntelliJ IDEA в файле docker-compose.yml запустить postgres, redis, mongo и flyway.
- В IntelliJ IDEA во вкладке Services установить для каждого микросервиса профиль dev.
- Запустить все микросервисы из вкладки Services в IntelliJ IDEA.
- Открыть в браузере http://localhost:3000/market-front
Любой посетитель интернет-магазина, у которого нет личного кабинета, может зарегистрироваться, чтобы стать покупателем.

Пользователь, вошедший в интернет-магазин, может просматривать и редактировать свои персональные данные.

Возможность подписки на событие появления товара в продаже после временного его отсутствия. После появления товара в продаже происходит массовая рассылка на электронную почту подписавшимся на это событие. Подписаться может любой зарегистрированный пользователь интернет-магазина.
Инициирует рассылку менеджер в разделе редактирование продуктов.
Подписавшийся пользователь получает электронное письмо с уведомлением о возврате товара в продажу на указанный им электронный адрес.
На странице каталога любой ползователь может добавить понравившийся товар в избранное
На вкладке избранное пользователь может управлять своими товарами, находящимися в избранном: может добавлять их в корзину или удалить из избранного
Любой авторизованный пользователь может оставлять отзывы к товарам на странице карточки товара. Также любой пользователь может просматривать отзывы и видеть среднюю оценку товара, рассчитаную на основании оценок пользователей
Пользователь с правами администратора может осуществоять модерацию отзывов и удалять те отзывы, которые содержат ненорматвную лексику или не соответствуют политике сайта
Любой посетитель интернет-магазина видит у товара его изображение.
У администрирующих пользователей есть возможность загружать и удалять изображения товаров.
Загрузка изображения.
Удаление изображения.
Пользователь с правами генерального директора может управлять ролями пользователя, с правами администратора - осуществять бан пользователей.
При нажатии на "Назначить права пользователю" открывается меню с управлением доступом, где можно назначить все роли кроме генерального директора. Роль покупателя назначается автоматически при регистрации и удаляется при бане, но вручную забрать и дать ее нельзя.
Пользователь с правами менеджера может осуществлять редактирование продуктов, создавать новые, выставлять и скрывать их из магазина, а также оповещать пользователей, как описано выше.
При нажатии на "Редактировать" появляется панель для редактирования продуктов, где можно изменить параметры продукта.
При нажатии на "Создать новый продукт" появляется панель для создания новых продуктов.
Любой пользователь может добавить понравившийся продукт в корзину
Перейдя во вкладку "Корзина" можно регулирвоать количество и состав продуктов, а зарегистрировавшись можно оформить заказ. При регистрации продукты из гостевой корзины автоматически переходят в корзину авторизованного пользователя. Количество продуктов, которое можно внести в корзину, зависит от количества доступных продуктов на складе.
Перейдя во вкладку "Мои заказы" можно увидеть все заказы учетной записи, сделанные ранее.






















