Спорт и фитнес
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
- Готовность к высоким нагрузкам — стабильная работа в пиковые периоды бронирования