Cinema ticketing built as a distributed system: five-minute seat holds backed by Redis locks and a database unique constraint, asynchronous Xendit payments, event-driven ticket issuance, and refunds that follow the money instead of flipping a status flag.
- Project
- Vue 3
- NestJS
- gRPC
- PostgreSQL
- Redis
- RabbitMQ
- Xendit