Требуется разработка приложения агрегатора данных. Источник данных - пока 1
Базовый сценарий: 1. Клиент передает идентификатор(id) через API/UI 2. Сервис R проверяет наличие данных в бд по id, если нашел, возвращает данные 3. Если нет, передает id в сервис P 4. Cервис P идет во внешний сервис - источник данных и забирает данные по id 5. Сервис P возвращает данные клиенту и сохраняет их в бд
Приложение состоит из следующих компонентов: 1. UI и API для клиента с возможностью ввести id и посмотреть результат в виде пайчарта и описании, увидеть историю запросов с пагинацией 2. Реверс прокси / шлюз во внутренний контур 3. Сервис авторизации c UI логина для выдачи доступов на UI и API 4. Сервис P - получает данные от клиента, проксирует запросы к внешнему сервису, хранит данные. 4. Биллинг сервис - хранит и управляет данными по количеству доступных запросов для клиента
Интеграции и API (https/rest) 1. клиент для вызова внешнего сервиса 2. api для авторизации /auth: - авторизоваться 3. api для биллинга /bills - добавить баланс - отнять баланс - получить баланс 4. api для биллинга /bills - добавить баланс - отнять баланс - получить баланс 5. api для сервиса P /data - Получить данные по id
Нефункциональные требования: - сервис логирования на opensearch/elk - deploy-ready - приложения сконфигурировано для деплоя docker swarm/k8s - настроен скейлинг