-
Notifications
You must be signed in to change notification settings - Fork 201
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Задание 2 из спринта и общий README.md файл
- Loading branch information
Pavel Yasonau
committed
Dec 8, 2024
1 parent
269a5b6
commit 512697d
Showing
1 changed file
with
97 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |