This project is incomplete and is ongoing.
A Node.js project created to practice ideas in microservices. It's a web app through which users can sell and buy tickets to events. It has the following services:
- The authentication service
- The tickets service: Handles ticket creation/editing.
- The orders service: Handles order creation and editing.
- Expiration: Cancels orders after 15 minutes so if a user doesn't checkout, the order is opened up to other users.
- payments: Handles credit card payments.
These amount of services here are an obvious overkill as no single one has a lot of complexity. The five services have been chosen for no reason other than to have as many services as possible to explore issues in microservices.
Docker and kubernetes are used to manage instances of these services and handle networking between them.
These services come together inside a Next.js web client.
The shared code is bundled as an npm package and then added as a dependency wherever needed.