Skip to content

Commit

Permalink
Задание 2 из спринта и общий README.md файл
Browse files Browse the repository at this point in the history
  • Loading branch information
Pavel Yasonau committed Dec 8, 2024
1 parent 269a5b6 commit 512697d
Showing 1 changed file with 97 additions and 0 deletions.
97 changes: 97 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Задание 1

[ReadMe для микрофронтендов](https://github.com/PYasonau/architecture-sprint-1/tree/sprint_1/frontend/microfrontend#readme)

В данном проекте использован Webpack Module Federation. Если я правильно разобрался, все микрофронтенды написаны на React, и возможно предоставить общий код во время выполнения.

## Подход DDD для разбиения

На основании бизнес-логики определены следующие микрофронтенды:

- **auth** – удаленный модуль аутентификации
- **photo** – удаленный модуль для работы с изображениями
- **profile** – удаленный модуль для работы с профилем пользователя
- **host** – основное приложение, динамически загружает модули auth/photo/profile

### Компоненты

**auth:**
- `Login` – компонент для логина пользователя
- `Register` – компонент регистрации пользователя

**photo:**
- `AddPlacePopup` – компонент добавления изображения
- `ImagePopup` – компонент просмотра изображения
- `PopupWithForm` – компонент диалогового окна сохранения
- `Card` – компонент карточки с изображением

**profile:**
- `EditAvatarPopup` – компонент для редактирования аватарки пользователя
- `EditProfilePopup` – компонент для редактирования профиля пользователя
- `PopupWithForm` – компонент диалогового окна сохранения (используется и тут)

**host:**
- `App` – основной компонент приложения
- `Footer` – подвал сайта
- `Header` – шапка сайта
- `ProtectedRoute` – защищенный маршрут
- `InfoTooltip` – информационный тултип
- `Main` – основной компонент для отображения списка карточек изображений
- `PopupWithForm` – диалоговое окно сохранения (используется и тут)

---

# Задание 2

Ниже приведена схема приложения онлайн аукционов.

Исходя из бизнес-логики онлайн-аукциона можно выделить следующие бизнес-фичи (сервисы):

1. **Профиль пользователя** – управление жизненным циклом пользователя
2. **Управление заказами пользователей**
3. **Товары и услуги** – управление товарами/услугами
4. **Аукцион** – управление жизненным циклом аукционов
5. **Платеж** – управление платежами
6. **Техподдержка** – управление обращениями в техподдержку
7. **Отчеты** – создание отчетов для пользователей системы

## Акторы

В приложении будут 4 актора:

1. **Продавец**
2. **Покупатель**
3. **Администратор приложения**
4. **Сотрудник технической поддержки**

Общие действия (авторизация, регистрация, обращение в техподдержку и т.д.) по возможности пропустим при детальном описании.

Для каждого актора есть уникальные бизнес-пути:

### Продавец
- Добавляет, удаляет, редактирует свои товары и услуги в каталоге
- Подает заявку на участие в аукционе
- Обращается в службу поддержки (вопросы по профилю, аукционам и т.д.)
- Получает статистику (продажи, возвраты, неуспешные аукционы)
- Получает нотификации о своих аукционах

### Покупатель
- Размещает заказ на покупку товара/услуги или создает заявку на участие в аукционе
- В случае победы в аукционе – оплачивает товар через систему платежей
- При технических проблемах – обращается в техподдержку
- При несогласии с результатом аукциона – обращается в техподдержку с апелляцией

### Администратор
- Процесс регистрации администратора может отличаться от обычного пользователя
- Принимает решения о правилах проведения аукционов, аппеляциях, корректности данных в профиле/каталоге
- Получает статистику и отчеты по товарам, аукционам, продавцам, покупателям
- Обладает прочими необходимыми функциональностями

### Сотрудник технической поддержки
- Регистрация сотрудника техподдержки может отличаться от регистрации покупателя
- Имеет доступ к базе обращений в техподдержку
- Управляет жизненным циклом заявки в техподдержку (обновление статуса, назначение исполнителя)

## Диаграмма

[Ссылка на диаграмму разбиения монолитного приложения на компоненты](https://viewer.diagrams.net/?tags=%7B%7D&lightbox=1&highlight=0000ff&edit=_blank&layers=1&nav=1&title=arch__task2_yasonau.drawio#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D1acFjIKv2jqJoPkU58RAvWHguM8ZXDcof%26export%3Ddownload)

0 comments on commit 512697d

Please sign in to comment.