Project Snapshot
Large-scale ticketing requires more than a monolith. This platform delivers fault-tolerant ticket sales through a suite of focused services, synchronized via NATS JetStream and packaged for Kubernetes deployments.
Business Context
- Designed as a blueprint for marketplaces that need resilient shopping and payment flows.
- Demonstrates battle-tested event patterns, ready to extend into high-availability production environments.
- Enables rapid onboarding of frontend teams thanks to a modern Next.js client already wired to the APIs.
Core Capabilities
- Microservice topology covering authentication, ticket inventory, orders, payments, and expirations.
- JetStream event bus embedded in the app for at-least-once delivery without extra infrastructure overhead.
- JWT-secured access with HTTP-only cookies and shared validation packages in
common/. - Responsive frontend built in Next.js + Tailwind CSS, delivering a premium checkout experience.
- Automated expirations that release tickets back to inventory when shoppers abandon carts.
Architecture Highlights
- Dockerized services orchestrated via Kubernetes, with Skaffold scripts to streamline local dev loops.
- MongoDB stores transactional data while Redis can back transient caching or event replays.
- Shared TypeScript packages ensure consistent events, models, and error handling across services.
- Jest and Supertest guard critical workflows through unit and integration coverage.
Implementation Notes
- Prioritizes observable, maintainable code: modular structure, dedicated namespaces, and defensive middleware.
- Real-time messaging flows documented for teammates stepping into the platform or extending integrations.
- MIT-licensed foundations that welcome customization for corporate environments or startups alike.
My Role
I architected the distributed system, implemented the service contracts, and hardened the DevOps tooling so teams can iterate quickly without compromising reliability.
Tech Stack
Node.js · TypeScript · Next.js · Express · NATS JetStream · MongoDB · Kubernetes · Docker · Tailwind CSS
Explore the Code
- GitHub Repository: rommel-rodriguez/distributed-ticketing-system