Архитектура
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