Перейти к содержанию

Roadmap

План развития платформы AqStream.

Фазы развития

flowchart LR
    subgraph Phase1["Фаза 1: Foundation"]
        F1["Базовая<br/>инфраструктура"]
    end

    subgraph Phase2["Фаза 2: Core"]
        F2["Основные<br/>функции"]
    end

    subgraph Phase3["Фаза 3: Growth"]
        F3["Расширенные<br/>возможности"]
    end

    subgraph Phase4["Фаза 4: Scale"]
        F4["Масштабирование"]
    end

    Phase1 --> Phase2 --> Phase3 --> Phase4

Связь с задачами

Каждая фаза декомпозируется на конкретные задачи в директории to-dos:

  • ~~to-dos/phase-1/~~ — ✅ Foundation завершена
  • ~~to-dos/phase-2/~~ — ✅ Core завершена
  • to-dos/phase-3/ — задачи Growth
  • to-dos/phase-4/ — задачи Scale

Фаза 1: Foundation

Цель: Создать базовую инфраструктуру проекта

Демо: Локальный запуск всех сервисов одной командой, CI проходит на PR

Инфраструктура

  • [x] Настройка монорепозитория
  • [x] Docker Compose для локальной разработки
  • [x] CI/CD pipeline (GitHub Actions)
  • [x] Doc-as-code инфраструктура (MkDocs, генераторы, валидаторы)

Backend Foundation

  • [x] Структура Gradle multi-module проекта
  • [x] Common modules (api, security, data, messaging, web, test)
  • [x] API Gateway
  • [x] PostgreSQL с multi-tenancy (RLS)
  • [x] RabbitMQ setup

Frontend Foundation

  • [x] Next.js 14 проект
  • [x] shadcn/ui компоненты
  • [x] Базовая структура страниц
  • [x] API client setup

Критерии завершения

  • Локальная разработка одной командой (make dev + make run-all)
  • CI проходит на каждый PR
  • Документация актуальна

Фаза 2: Core

Цель: Реализовать основные функции платформы

Демо: E2E сценарий — создать событие, зарегистрироваться, получить билет в Telegram

Аутентификация (User Service)

  • [x] Регистрация через Telegram (основной способ)
  • [x] Регистрация по email (альтернативный способ)
  • [x] Вход через Telegram / email+password
  • [x] JWT tokens (access + refresh)
  • [x] Email verification
  • [x] Password reset

Организации (User Service)

  • [x] Запрос на создание организации + одобрение админом
  • [x] Приглашение членов через Telegram
  • [x] Роли: Владелец (Owner), Модератор
  • [x] Переключение между организациями
  • [x] Группы для приватных событий (создание, инвайт-коды)

События (Event Service)

  • [x] CRUD событий
  • [x] Жизненный цикл: Draft → Published → Completed/Cancelled
  • [x] Типы билетов (бесплатные)
  • [x] Страница события (public)
  • [x] Видимость участников (закрытая/открытая)
  • [x] Привязка события к группе (приватные события)

Регистрации (Event Service)

  • [x] Регистрация на событие
  • [x] Генерация confirmation code
  • [x] QR-код для билета
  • [x] Отмена регистрации

Уведомления (Notification Service)

  • [x] Telegram Bot API интеграция
  • [x] Шаблоны сообщений
  • [x] Подтверждение регистрации (билет с QR)
  • [x] Напоминание о событии

Frontend

  • [x] Страницы auth (login, register, forgot password)
  • [x] Dashboard организатора
  • [x] Создание/редактирование события
  • [x] Страница события для участников
  • [x] Регистрация на событие
  • [x] Личный кабинет участника
  • [x] Check-in UI с QR сканером и PWA offline

Критерии завершения

  • E2E сценарий: создать событие → зарегистрироваться → получить билет
  • Базовая аналитика (количество регистраций)
  • Стабильная работа на тестовом окружении

Фаза 3: Growth

Цель: Добавить функции для роста платформы

Демо: Полный платёжный цикл и check-in на реальном мероприятии

Платежи (Payment Service)

  • [ ] Интеграция платёжных провайдеров
  • [ ] Платные билеты
  • [ ] Бронирование билетов (с таймером)
  • [ ] Предоплата (частичная оплата)
  • [ ] Возвраты (полные и частичные)
  • [ ] Webhook handling

Расширенные события

  • [ ] Несколько типов билетов
  • [ ] Периоды продаж
  • [ ] Лимиты билетов
  • [ ] Лист ожидания

Check-in

  • [x] Сканирование QR-кодов (реализовано в Phase 2)
  • [x] Ручной поиск участников (реализовано в Phase 2)
  • [ ] Статистика в реальном времени

Уведомления

  • [x] Telegram-бот (реализовано в Phase 2)
  • [x] Настройки уведомлений (реализовано в Phase 2)
  • [ ] Изменение события → уведомление участников
  • [ ] Отмена события → массовое уведомление

Медиа (Media Service)

  • [x] Загрузка изображений (реализовано в Phase 2)
  • [ ] Resize для превью
  • [ ] CDN интеграция

Аналитика (Analytics Service)

  • [ ] Дашборд события
  • [ ] Воронка регистраций
  • [ ] Экспорт данных

Критерии завершения

  • Полный платёжный цикл
  • Check-in на реальном мероприятии
  • Telegram-уведомления работают

Фаза 4: Scale

Цель: Подготовить платформу к масштабированию

Демо: Нагрузочное тестирование пройдено, мониторинг настроен, Public API доступен

Производительность

  • [ ] Redis caching
  • [ ] Database read replicas
  • [ ] CDN для статики
  • [ ] Load testing

Observability

  • [ ] Prometheus metrics
  • [ ] Grafana dashboards
  • [ ] Loki для логов
  • [ ] Alerting

API

  • [ ] Public API документация
  • [ ] Rate limiting
  • [ ] API keys для интеграций
  • [ ] Webhooks для клиентов

Расширенные функции

  • [ ] Промокоды
  • [ ] Групповые регистрации
  • [ ] Кастомные поля регистрации
  • [ ] Брендирование страниц

Критерии завершения

  • Нагрузочное тестирование пройдено
  • Мониторинг настроен
  • Public API доступен

Backlog (Future)

Функции для будущих фаз:

Mobile

  • [ ] Progressive Web App
  • [ ] Native mobile app (React Native)
  • [ ] Offline check-in

Social

  • [ ] Интеграция с календарями (Google, Apple)
  • [ ] Social sharing
  • [ ] Рекомендации событий

Enterprise

  • [ ] SSO (SAML, OIDC)
  • [ ] Audit logs
  • [ ] Custom domains
  • [ ] White-label

Monetization

  • [ ] Subscription plans
  • [ ] Usage-based billing
  • [ ] Marketplace for integrations

Текущий статус

Фаза Статус Прогресс
Phase 1: Foundation 🟢 Завершена Монорепозиторий, Docker Compose, common modules, API Gateway, Next.js, shadcn/ui, документация
Phase 2: Core 🟢 Завершена Backend: 17/17 done; Frontend: 6/6 done; + Check-in UI, Media Service, PWA offline
Phase 3: Growth ⚪ Не начата
Phase 4: Scale ⚪ Не начата

Легенда: 🟢 Завершена | 🟡 В работе | ⚪ Не начата

Принципы приоритизации

  1. User value first — функции, приносящие пользу пользователям
  2. Technical foundation — инвестиции в архитектуру окупаются
  3. Iterative delivery — маленькие релизы лучше больших
  4. Feedback-driven — приоритеты корректируются по фидбеку

Дальнейшее чтение