Архитектура
Glyph — современное веб-приложение для настольных ролевых игр, построенное на production-grade стеке с акцентом на скорость, реалтайм и масштабируемость.
Стек
| Слой | Технология | Почему |
|---|---|---|
| Frontend | Next.js 15 + React 19 + TypeScript | SSR для SEO, App Router для гибкой маршрутизации |
| Стили | Tailwind CSS 4 | Быстрая итерация UI без CSS-bloat |
| База данных | Supabase (PostgreSQL) | Managed DB + встроенный realtime + auth |
| Деплой | Vercel | Zero-config CI/CD, edge network, preview deploys |
| Мониторинг | Sentry + Vercel Analytics | Ошибки в реальном времени + метрики производительности |
| Тесты | Vitest + Playwright | Unit + E2E покрытие |
Ключевые архитектурные решения
Единая контентная модель
Вместо десятков таблиц под каждый тип контента (классы, заклинания, монстры) — единая гибкая модель, поддерживающая 13 типов контента и 2 игровые системы. Это позволяет добавлять новые системы без миграций схемы.
Полнотекстовый поиск
Нативный PostgreSQL full-text search по всей базе контента (1 227+ элементов). Фильтрация по игровой системе и типу контента. Быстрый отклик без внешних поисковых движков.
Реалтайм-синхронизация
Тактическое поле битвы синхронизируется между мастером и игроками в реальном времени через серверные функции. Конфликты обновлений предотвращаются на уровне базы данных.
Двуязычность
Весь интерфейс и контент доступны на русском и английском языках. Переключение языка — мгновенное, без перезагрузки страницы. Серверный рендеринг учитывает выбранный язык.
Масштабирование
- Stateless frontend — горизонтальное масштабирование через edge network
- Managed backend — база данных и функции масштабируются автоматически
- Контент как данные — новые игровые системы добавляются через данные, не через код
Инфраструктура
- Автоматический деплой при каждом push в main
- Preview-окружения для каждого pull request
- Миграции базы данных через CI/CD pipeline
- Мониторинг ошибок на всех слоях: клиент, сервер, edge