Спорт и фитнес
Tennis.ru App
Два мобильных приложения для крупного спортивного комплекса, через которые проходят миллионы транзакций в месяц. Один бренд: бронирование кортов и абонементы в зал на общей архитектуре, платёжной системе и бэкенде.
Бронирование и платежи
Доступность кортов в реальном времени с мгновенным бронированием и интегрированной обработкой платежей. Приложение для зала управляет месячными абонементами с автоматическим продлением и контролем доступа. Обе системы выдерживают пиковые нагрузки, сохраняя время отклика менее секунды и транзакционную целостность.
Конкурентный доступ и кэширование
Движок бронирования использует PostgreSQL Row Level Locking для предотвращения двойных бронирований при конкурентном доступе. DragonflyDB служит кэширующим слоем, обеспечивая Redis-совместимое in-memory кэширование.
Архитектура
Построен на Capacitor 6 для нативного мобильного развёртывания, с Bun/ElysiaJS на бэкенде. Фронтенд использует React/Vite для быстрого отзывчивого интерфейса, а PostgreSQL с Drizzle ORM обеспечивает типобезопасные операции с базой данных.
Ключевые особенности
- Два приложения, одна платформа: бронирование кортов + абонементы в зал на общей инфраструктуре
- Row Level Locking: конкурентный доступ на PostgreSQL без двойных бронирований
- Кэширование DragonflyDB: миллисекундное чтение расписаний и доступности
- Система личного кабинета: покупки, бронирование, статистика, абонементы
- Нативное мобильное приложение: Capacitor 6 для iOS и Android
- Готовность к высоким нагрузкам: стабильная работа в пиковые периоды бронирования