serverBackend Service (Golang)

Назначение

Backend — это центральный API-шлюз, который:

  • Принимает запросы от внешних пользователей и организаторов (endpoint /predict).

  • Делегирует классификацию и анализ отзывов ML-сервису (lct-ml).

  • Проверяет корректность данных и возвращает структурированные ошибки.

  • Форматирует ответы в соответствии с требованиями ТЗ.

API

POST /predict

Формат запроса:

{
  "data": [
    {"id": 1, "text": "Очень понравилось обслуживание..."},
    {"id": 2, "text": "Кредитную карту одобрили быстро"}
  ]
}

Формат ответа:


Go Backend API (GoBackend/)

🚀 Быстрый старт

Запуск с Docker (рекомендуется)

  1. Перейдите в папку проекта:

  1. Запустите проект:

  1. API будет доступно по адресу: http://localhost:8080

Запуск без Docker

  1. Установите Go 1.25+

  2. Установите зависимости:

  1. Запустите сервер:

📋 Go API Endpoints

Health Check

GET /health

Проверка работоспособности сервера.

Ответ:


Получение отзывов

GET /api/v1/reviews

Получение отзывов с пагинацией и фильтрацией.

Параметры запроса:

  • page (int, default: 1) - номер страницы

  • limit (int, default: 20, max: 100) - количество отзывов на странице

  • topic (string, optional) - фильтр по теме

  • sentiment (string, optional) - фильтр по тональности

Пример запроса:

Ответ:


Аналитические данные

GET /api/v1/analytics

Получение полных данных для аналитики (все отзывы + предсказания).

Ответ:

⚠️ Внимание: Этот endpoint возвращает большой объем данных (~36MB). Используйте с осторожностью.

⚙️ Технологии

  • Go 1.25

  • Fiber v3 (веб-фреймворк)

  • Docker & Docker Compose

  • JSON для обмена данными

Последнее обновление