double image first part
double image second part
Собственная разработка
КиТ Analytics Platform

КиТ Analytics Platform - это мощная платформа для визуализации данных, разработанная для создания интерактивных дашбордов и анализа больших объемов данных. Ее архитектура построена на микросервисной модели, что обеспечивает масштабируемость и гибкость.

Основные компоненты платформы и их взаимодействие:

  • Frontend (ReactJS):
    - Dashboard Editor: Интерфейс для создания и редактирования дашбордов, включая добавление чартов, фильтров и элементов управления.
    - Chart Editor: Интерфейс для создания и редактирования отдельных чартов, выбора типа визуализации, настройки параметров и добавления фильтров.
    - Explore Interface: Интерфейс для интерактивного исследования данных, создания запросов к базе данных и визуализации результатов.
    - User Interface (UI): Общий интерфейс пользователя для навигации, управления пользователями и настройками.

  • Backend (Python/Flask): Основной сервер приложений, отвечающий за обработку запросов от фронтенда и взаимодействие с другими компонентами.
    - API Gateway: Точка входа для всех запросов от фронтенда, маршрутизирует их к соответствующим микросервисам.
    - Authentication Service: Управление аутентификацией и авторизацией пользователей, интеграция с различными провайдерами (LDAP, OAuth2).
    - Authorization Service: Определение прав доступа пользователей к данным и функциям.
    - Datasource Management Service: Управление подключениями к базам данных, определение схем и таблиц.
    - SQL Lab Service: Предоставляет интерфейс для написания и выполнения SQL-запросов к базам данных.
    - Chart Management Service: Управление созданием, редактированием и хранением информации о чартах.
    - Dashboard Management Service: Управление созданием, редактированием и хранением информации о дашбордах.
    - Cache Service: Кэширование результатов запросов для повышения производительности.
    - Scheduler Service: Планирование и выполнение задач, таких как обновление данных или отправка уведомлений.
    - Alerting Service: Настройка и выполнение правил оповещения на основе данных.
    - Metadata Service: Хранение метаданных о дашбордах, чартах, источниках данных и пользователях.

  • Database (PostgreSQL): Основная база данных для хранения метаданных Superset, включая информацию о пользователях, источниках данных, чартах и дашбордах.

  • Message Queue (Redis/RabbitMQ): Используется для асинхронной обработки задач, таких как обновление данных и отправка уведомлений.

  • Celery (Distributed Task Queue): Используется для выполнения задач в фоновом режиме, таких как обновление данных и отправка уведомлений.

ㅤ⠀

Взаимодействие компонентов:
Фронтенд взаимодействует с бэкендом через API Gateway. Бэкенд использует различные микросервисы для обработки запросов и взаимодействия с базами данных. Асинхронные задачи выполняются через Message Queue и Celery.

Методы и средства разработки программного обеспечения:
- Языки программирования: Python 3.7+, JavaScript (ES6+), SQL
- Фреймворки: Flask, ReactJS, Celery, SQLAlchemy
- Инструменты разработки: VS Code, PyCharm, Git
- Система контроля версий: Git (GitHub/GitLab)
- Методология разработки: Agile (Scrum/Kanban)
- Инструменты тестирования: Pytest, Selenium
- Контейнеризация: Docker
- Оркестрация контейнеров: Kubernetes (опционально)
- CI/CD: Jenkins, GitLab CI/CD