Overview
A production-grade event-ticketing platform demonstrating modern microservices patterns — from service communication to eventual consistency and container orchestration.
Services
| Service | Responsibility |
|---|---|
| auth | JWT-based registration & login |
| tickets | Create, update, delete ticket listings |
| orders | Reserve tickets with a 15-minute window |
| payments | Stripe integration, publishes payment events |
| expiration | Bull/Redis queue to expire unpaid orders |
Infrastructure
- NATS Streaming for event communication between services
- Docker for containerisation of every service
- Kubernetes (local: minikube / prod: GKE) for orchestration
- Ingress-nginx for routing
- Skaffold for streamlined local development
Patterns implemented
- Event Sourcing via NATS
- Optimistic concurrency control with version fields
- Per-service MongoDB databases (database-per-service pattern)
- Common library (
@ay/common) published to NPM for shared types and middlewares