Skip to content

gsaini/event-ticketing-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎫 Event Ticket Booking Platform

Node.js Python Go Java TypeScript React Next.js PostgreSQL Redis Apache Kafka Elasticsearch Docker Kubernetes Kong

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.

πŸ—οΈ Architecture Overview

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

🧩 Core Services

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

⚑ Key Features

  • 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

πŸ“ Design Documentation

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

πŸ› οΈ Tech Stack

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

πŸ“„ License

MIT

πŸ‘€ Author

Gopal Saini
πŸ“§ gopal.saini.work@gmail.com

About

Comprehensive system design & architecture for a distributed event ticket booking platform.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors