Skip to content

Архитектура

arcitecture.svg

Event Service#

Предназначение:
Управление событиями, их хранение и доступ к ним.

Принимает запросы от: - Side API (gRPC) - Gateway (gRPC) - Admin (gRPC)

Отправляет запросы в: - Postgres

Constant Service#

Предназначение:
Хранение и управление постоянными конфигурациями и справочниками.

Принимает запросы от: - Side API (gRPC) - Gateway (gRPC) - Admin (gRPC)

Отправляет запросы в: - Postgres

Auth Service#

Предназначение:
Аутентификация и авторизация пользователей.

Принимает запросы от: - Gateway (gRPC) - WebSocket (gRPC) - Admin (gRPC)

Отправляет запросы в: - Postgres - Redis - Notification Service (gRPC)

Mentor Service#

Предназначение:
Хранит запуск наставничества, список наставников, позволяет осуществлять запись к наставникам.

Принимает запросы от: - Gateway (gRPC) - Admin (gRPC)

Отправляет запросы в: - Postgres

School Service#

Предназначение:
Хранение информации о школах и управление регистрацией пользователей.

Принимает запросы от: - Gateway (gRPC) - Admin (gRPC)

Отправляет запросы в: - Postgres

QR Service#

Предназначение:
Генерация и обработка QR-кодов.

Принимает запросы от: - Gateway (gRPC) - Admin (gRPC)

Отправляет запросы в: - Postgres - S3 Service (NATS)

Wiki Service#

Предназначение:
Хранение статей.

Принимает запросы от: - Gateway (gRPC) - Admin (gRPC)

Отправляет запросы в: - Postgres

Mentor Case Service#

Предназначение:
Хранит список менторских кейсов.

Принимает запросы от: - Gateway (gRPC) - Admin (gRPC)

Отправляет запросы в: - Postgres

Broadcast Service#

Предназначение:
Хранение и отправка массовых уведомлений для пользователей.

Принимает запросы от: - Admin (gRPC) - Gateway (NATS)

Отправляет запросы в: - Postgres - Notification Service (gRPC)

S3 Service#

Предназначение:
Работа с файлами: загрузка, хранение, получение.

Принимает запросы от: - Gateway (NATS)

Отправляет запросы в: - Postgres

Notification Service#

Предназначение:
Отправка уведомлений пользователям по их контактам.

Принимает запросы от: - Auth Service (gRPC)

Отправляет запросы в: - Constant Service (gRPC) - Postgres

Invite Service#

Предназначение:
Управление инвайт-кодами: хранение, проверка корректности, отслеживание использования и обработка неверных попыток ввода.

Принимает запросы от: - Gateway (gRPC) - Admin (gRPC)

Отправляет запросы в: - Postgres

Stories Service#

Предназначение:
Управление историями: создание, хранение и предоставление доступа к ним.

Принимает запросы от: - Gateway (gRPC) - Admin (gRPC)

Отправляет запросы в: - Postgres

Worksheet Service#

Предназначение:
Пользовательские анкеты: хранение, редактирование и предоставление пользователям.

Принимает запросы от: - Gateway (gRPC) - Admin (gRPC)

Отправляет запросы в: - Postgres

Side API#

Предназначение:
Интерфейс взаимодействия сайта с внутренними сервисами. Отвечает за интеграцию внешнего веб-приложения с микросервисной архитектурой через gRPC.

Принимает запросы от: - Сайт терры (HTTP)

Отправляет запросы в: - Event Service (gRPC) - Constant Service (gRPC)

Gateway#

Предназначение:
Основной шлюз приложения. Обрабатывает клиентские запросы, маршрутизирует их к соответствующим микросервисам и реализует общую точку входа для мобильного приложения.

Принимает запросы от: - Приложение (HTTP)

Отправляет запросы в: - Все внутренние сервисы (gRPC) Event Service, Constant Service, Auth Service, Mentor Service, School Service, QR Service, Wiki Service, Mentor Case Service, Invite Service, Stories Service, Worksheet Service

WebSocket#

Предназначение:
Реализация двусторонней связи в реальном времени с клиентами. Используется для уведомлений, обновлений и событий без перезагрузки страницы.

Принимает запросы от: - Приложение (HTTP)

Отправляет запросы в: - Auth Service (gRPC)

Admin#

Предназначение:
Управление работой всех сервисов, создание и редактирование бизнес-сущностей через административный интерфейс.

Принимает запросы от: - Админ панель (HTTP)

Отправляет запросы в: - Все внутренние сервисы (gRPC) Event Service, Constant Service, Auth Service, Mentor Service, School Service, QR Service, Wiki Service, Mentor Case Service, Broadcast Service, Invite Service, Stories Service, Worksheet Service