Система баг-репортов и отзывов для !mrak
Микросервисная платформа для сбора баг-репортов, пользовательских отзывов и генерации сводок с помощью AI. Используются Kafka для сообщений, MinIO для файлов и PostgreSQL для хранения данных.
Компоненты:
-
Эндпоинты:
POST /report-send– принимает баг-репорты с изображениями и логами.POST /feedback-send– принимает текстовые отзывы.
-
Функции:
-
Загружает файлы в MinIO.
-
Отправляет сообщения с метаданными или текстом в Kafka:
bre.report.messagebre.feedback.message
-
-
Особенности:
- Фоллбек-сервис: если один из
FeedbackReportServiceпадает, автоматически пробует следующий в списке. Если все падают — возвращается ошибка. - Лимит запросов: реализован через Bucket/RateLimiter (2 запроса в минуту). При превышении возвращается
429 Too Many Requests.
- Фоллбек-сервис: если один из
-
Основной брокер сообщений.
-
Используемые топики:
bre.report.messagebre.feedback.messagebre.summary.message
- Читает все топики Kafka.
- Сохраняет данные и метаданные в PostgreSQL.
- Предоставляет REST API для чтения данных.
- Отдаёт ссылки на файлы в MinIO.
- Читает отзывы из базы.
- Генерирует сводки с помощью API YandexGPT.
- Отправляет результаты в Kafka для хранения storage-service.
- Хранит файлы логов и скриншоты.
- Предоставляет ссылки для фронтенда и storage-service.
- Читает данные через API storage-service.
- Отображает баг-репорты, отзывы и сводки.
- Предоставляет ссылки на файлы в MinIO.
-
Фронтенд или игра отправляет баг-репорт или отзыв.
-
Report Service:
- Загружает файлы в MinIO (если есть).
- Отправляет сообщение в Kafka.
-
Storage Service:
- Сохраняет метаданные и тексты в базу.
- Предоставляет REST API.
-
Summary Service:
- Генерирует AI-сводки.
- Отправляет их в Kafka.
-
Frontend / Dashboard:
- Получает данные через API.
- Отображает отчёты, отзывы и сводки.
- Backend: Spring Boot (Java)
- Messaging: Apache Kafka
- Файлы: MinIO (S3-совместимый)
- База данных: PostgreSQL
- AI-сводки: YandexGPT API
- Контейнеризация: Docker Compose
