Альтернативные стеки
Primary stack описан в containers.md. Ниже — альтернативы и trade-offs.
Backend
| Вариант | Плюсы | Минусы | Когда |
|---|---|---|---|
| FastAPI microservices (primary) | Масштаб, изоляция | DevOps overhead | 3+ dev, prod |
| FastAPI monolith + ARQ | Быстрый старт | Сложнее split позже | 1–2 dev, MVP |
| Django + Channels | Admin, ORM | Тяжелее async | Команда Django |
| Go game-runtime | Latency | Два языка | Hot path критичен |
Frontend
| Вариант | Плюсы | Минусы |
|---|---|---|
| Next.js 15 (primary) | SSR, ecosystem | Complexity |
| Vue 3 + Nuxt | Простота | Меньше TG widget примеров |
| SvelteKit | Лёгкий bundle | Меньше hiring pool |
Real-time
| Вариант | Плюсы | Минусы |
|---|---|---|
| WS + Redis Pub/Sub (primary) | Простота | Redis SPOF |
| Socket.io | Fallback transports | Не нужен для MVP |
| Supabase Realtime | Managed | Vendor lock-in |
Message bus
| Вариант | Плюсы | Минусы |
|---|---|---|
| NATS JetStream (primary) | Лёгкий, fast | Меньше экосистема |
| RabbitMQ | Зрелость | Тяжелее ops |
| Kafka | Масштаб | Overkill для MVP |
| Redis Streams | Уже есть Redis | Меньше гарантий |
Storage
| Вариант | Плюсы | Минусы |
|---|---|---|
| MinIO / S3 (primary) | Стандарт | Настройка |
| Supabase Storage | Быстрый MVP | Lock-in |
| Local filesystem | Dev only | Не для prod |
Auth
| Вариант | Плюсы | Минусы |
|---|---|---|
| JWT + guest (primary) | Контроль | Своя реализация |
| Supabase Auth | Готовое | Внешний сервис |
| Keycloak | Enterprise | Тяжёлый для MVP |
Рекомендация по фазам
| Phase | Рекомендация |
|---|---|
| 0 | MkDocs only |
| 1 | Modular monolith FastAPI + bot + Next.js |
| 2 | Extract realtime, media если нужно |
| 3 | Full microservices при нагрузке |