3.4 - fpmi-hci-2024/project14-1965823945 GitHub Wiki
Система включает в себя следующие основные компоненты:
- Веб-приложение: Пользовательский интерфейс для взаимодействия с читателями и авторами.
- Сервер приложений: Обрабатывает бизнес-логику и запросы от веб-приложения.
- База данных: Хранит информацию о пользователях, статьях, тегах и категориях.
- Внешний API: Позволяет взаимодействовать с социальными сетями для обмена статьями.
код puml
@startuml
actor reader as "Читатель"
actor author as "Автор"
actor admin as "Администратор"
rectangle "Система блога" {
rectangle web_app as "Веб-приложение\n(Django)" {
note right of web_app : Пользовательский интерфейс
}
rectangle app_server as "Сервер приложений\n(Python)" {
note right of app_server : Обработка бизнес-логики
}
rectangle database as "База данных\n(MySQL/PostgreSQL)" {
note right of database : Хранение данных
}
rectangle external_api as "Внешний API\n(REST)" {
note right of external_api : Взаимодействие с социальными сетями
}
}
reader --> web_app : "Просмотр статей"
author --> web_app : "Создание статей"
admin --> web_app : "Управление системой"
web_app --> app_server : "Отправка запросов"
app_server --> database : "Запросы и хранение данных"
app_server --> external_api : "Поделиться статьей"
@enduml
Контейнерная диаграмма показывает, как различные контейнеры системы взаимодействуют друг с другом.
код puml
@startuml
rectangle "Система блога" {
rectangle user_management as "Компонент управления пользователями"
rectangle article_management as "Компонент управления статьями"
rectangle tag_category_management as "Компонент управления тегами и категориями"
rectangle search_filter as "Компонент поиска и фильтрации"
rectangle social_sharing as "Компонент социального обмена"
}
user_management --> article_management : "Управляет"
article_management --> tag_category_management : "Использует"
search_filter --> article_management : "Фильтрует"
social_sharing --> article_management : "Делится"
@enduml