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/— задачи Growthto-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 | ⚪ Не начата | — |
Легенда: 🟢 Завершена | 🟡 В работе | ⚪ Не начата
Принципы приоритизации¶
- User value first — функции, приносящие пользу пользователям
- Technical foundation — инвестиции в архитектуру окупаются
- Iterative delivery — маленькие релизы лучше больших
- Feedback-driven — приоритеты корректируются по фидбеку
Дальнейшее чтение¶
- Vision — видение продукта
- Functional Requirements — требования
- Architecture Overview — архитектура