Sports & Fitness
Tennis.ru App
Two mobile apps for a large sports complex, processing millions in transactions every month. One brand: tennis court booking and gym subscriptions on a shared architecture, payments and backend.
Booking & Payments
Real-time court availability with instant booking and integrated payment processing. The gym app manages monthly subscriptions with automated renewals and access control. Both systems handle peak loads while maintaining sub-second response times and transactional integrity.
Concurrency & Caching
The booking engine uses PostgreSQL Row Level Locking to prevent double-bookings under concurrent access. DragonflyDB serves as the caching layer, providing Redis-compatible in-memory caching.
Architecture
Built on Capacitor 6 for native mobile deployment, with Bun/ElysiaJS powering the backend API. The frontend uses React/Vite for a fast, responsive interface, backed by PostgreSQL with Drizzle ORM for type-safe database operations.
Key Highlights
- Two apps, one platform: tennis booking + gym subscriptions on shared infrastructure
- Row Level Locking: PostgreSQL-based concurrency for zero double-bookings
- DragonflyDB caching: millisecond reads for schedules and availability
- Personal account system: purchases, bookings, statistics, subscriptions
- Native mobile: Capacitor 6 for iOS and Android
- High-load ready: handles peak booking periods without degradation