Перечень условных обозначений, символов, сокращений, терминов 4
Введение 5
1 Микрофронтенд подход 6
1.1 Использование микрофронтенд подхода на практике 7
1.2 Выбор тематики приложения 8
2 Формализация функциональных возможностей приложения 9
2.1 Роли пользователей 9
2.2 Функциональные возможности 9
2.2.1 Работа с пользователями 9
2.2.2 Работа с компаниями 10
2.2.3 Работа с проектами 11
2.2.4 Работа с командами 12
2.2.5 Работа с уведомлениями 12
2.3 Модель предметной области 13
3 Проектирование архитектуры приложения 15
3.1 Высокоуровневая архитектура приложения 15
3.2 Проектирование базы данных 15
4 Описание технологий и инструментов разработки 18
4.1 Клиентская часть 18
4.1.1 React 18
4.1.2 Redux 18
4.1.3 TypeScript 20
4.1.4 Ant design 21
4.1.5 Nivo 22
4.1.6 single-spa 22
4.2 Серверная часть 23
4.2.1 .NET 23
4.2.2 ASP.NET Core 23
4.2.3 ASP.NET Core MVC 23
4.2.4 ASP.NET Core Identity 24
4.2.5 Entity Framework Core 25
5 Разработка приложения 26
5.1 Разработка основного приложения клиентской части 26
5.1.1 Структура основного приложения клиентской части 26
5.1.2 Взаимодействие с сервером 27
5.1.3 Регистрация микрофронтенд приложений 29
5.2 Разработка микрофронтенд приложений 31
5.2.1 Настройк конфигурации 31
5.2.2 Структура сервиса уведомлений 32
5.2.3 Получение уведомлений 32
5.2.4 Структура сервиса диаграмм 33
5.2.5 Отображение команд на диаграммах 34
5.3 Разработка серверной части приложения 36
5.3.1 Структура приложений серверной части 36
5.3.2 Реализация работы с командами 37
5.3.3 Взаимодействие серверных приложений 39
Заключение 41
Список использованных источников и литературы 42
Приложение A. Страницы микрофронтенд приложений
В современной фронтенд-разработке существует несколько основных подходов. Монолитный подход представляет собой единое приложение объединяющие в себе все функции. Компонентный подход подразумевает разбиение на независимые компоненты с возможностью повторного использования в рамках реализации страниц приложения. И микрофронтенд подход, в котором приложение состоит из нескольких более мелких приложений, отвечающих за определенную функциональность. Стало интересно изучить подробно и попробовать применить на практике микрофронтенд подход. В настоящее время многие крупные компании предпочитают микросервисные приложения, в том числе, использование микрофронтенд подхода в разработке клиентских приложений. Хочется понять, в чем особенности данного подхода, какие задачи в рамках разрабатываемых приложений с помощью него возможно решить.
Помимо теоретической информации необходимо попробовать микрофронтенд приложения в рамках разработки пет-проекта. Для этого будет определены функции, которые можно реализовать с помощью этого подхода. Остальные функциональности будут лишь примером, для них не будет целью решать бизнес-задачи и удовлетворять потребности потенциальных пользователей, как было бы в случае с заказной разработкой.
Для пет-проекта идея может быть выбрана разработчиком на основе личных предпочтений, поэтому будет реализовано приложение по управлению участниками команд в рамках проектной деятельности.
Цель дипломной работы - использовать микрофронтенд подход в разработке клиентской части на примере реализации приложения по управлению участниками команд в рамках проектной деятельности.
Для достижения цели необходимо выполнить следующие задачи:
1. рассмотреть микрофронтенд подход;
2. разработать приложение с использование микрофронтенд подхода.
В результате работы рассмотрен микрофронтенд подход, включая задачи, в которых он может быть применен. На основе этого выбрана тематика пет-проекта. Перед началом разработки определены функциональные возможности приложения, а также определено, что будет реализовано в рамках отдельных микрофронтенд приложений.
Как итог разработано приложение по управлению проектными командами, в рамках которого в клиентской части использован микрофронтенд подход для реализации двух сервисов. Сервис уведомлений и сервис диаграмм разработаны и интегрированы в основное фронтенд приложение с помощью фреймворка single-spa.
Таким образом можно утверждать, что поставленные задачи выполнены, а значит цель работы достигнута.