A distributed, self-hosted event ticketing system built on Kubernetes and open-source technologies, designed for high-concurrency flash-sale scenarios β from event creation and discovery through seat selection, payment, and digital ticket delivery.
The platform follows a microservices architecture built on Kubernetes with:
- API Gateway (Kong) β rate limiting, auth, routing
- Event-Driven Communication β Apache Kafka for async messaging
- Polyglot Persistence β PostgreSQL, Redis, Elasticsearch, MinIO, ClickHouse
- CQRS + Event Sourcing β separate read/write models for inventory and search
| Service | Tech Stack | Responsibility |
|---|---|---|
| User Service | Node.js / Express | Authentication, profiles, RBAC |
| Event Service | Python / FastAPI | Event CRUD, venue management, pricing |
| Booking Service | Go | Seat reservation, holds, confirmations |
| Payment Service | Java / Spring Boot | Payment processing, refunds, settlements |
| Search Service | Elasticsearch | Full-text, geo, and faceted search |
| Notification Service | Node.js | Email, SMS, push notifications |
| Analytics Service | Python / ClickHouse | Real-time dashboards, reporting |
| Cart Service | Node.js / Redis | Cart management, promo codes |
| Waitlist Service | Python / FastAPI | Waitlist queue management |
- Flash-Sale Ready β Virtual waiting room, auto-scaling, two-layer concurrency control
- Real-Time Seat Maps β WebSocket-powered live availability updates
- Secure Payments β PCI-DSS Level 1 compliant via Stripe/Razorpay tokenization
- Smart Search β Elasticsearch with fuzzy matching, geo-search, and autocomplete
- Multi-Channel Notifications β Email, SMS, push, and in-app via Kafka events
- Comprehensive Observability β Prometheus, Grafana, Jaeger, OpenTelemetry
See DESIGN.md for the full system design including:
- High-level architecture diagrams
- Data model (ER diagram)
- API design & sample requests
- Booking flow sequence diagrams
- Payment processing & webhook handling
- Caching strategy
- Security threat model (STRIDE)
- Infrastructure & CI/CD pipeline
- Scalability & flash-sale strategy
- Failure handling & resilience patterns
| Layer | Technology |
|---|---|
| Frontend | React 19 + Next.js 15 |
| Mobile | React Native / Flutter |
| API Gateway | Kong (OSS) |
| Backend | Go, Python, Node.js, Java |
| Database | PostgreSQL 17 (Patroni HA) |
| Cache | Redis 7 Cluster |
| Message Broker | Apache Kafka 3.7 (KRaft) |
| Search | Elasticsearch 8.x (ECK) |
| Object Storage | MinIO |
| Orchestration | Kubernetes (kubeadm / k3s) |
| Registry | Harbor |
| Secrets | HashiCorp Vault |
| IaC | Terraform + Helm |
| CI/CD | GitHub Actions |
| Monitoring | Prometheus + Grafana |
| Ingress / CDN | Nginx Ingress + Varnish |
MIT
Gopal Saini
π§ gopal.saini.work@gmail.com