We try to build a simple room booking to make the best practices NodeJS in MSA.
- TypeScript language
- NodeJs / NestJS v9
- NextJS v13
- Flutter v3.3
- goauthentik
- Kafka
- PostgreSQL
- Docker
- Terraform
- FluxCD
- Kustomize
- Kubernetes
| NO | Service | Language | Description |
|---|---|---|---|
| 1 | homefront | Typescript | Homepage for listing all available rooms, show room detail, price and provide reservation function to guest. |
| 2 | merchant app | Dart | Provide a mobile app for merchant to manage their rooms, view booking detail, ... |
| 3 | admin app | Typescript | A web application for admin to manage users, rooms and bookings |
| 4 | BFF | Typescript | Prepare a GraphQL gateway for homefront, merchant app to communicate with internal services |
| 5 | identity | Go | Provide OIDC authentication |
| 6 | listing-service | Typescript | Lists rooms, views room detail, price... |
| 7 | reservation-service | Typescript | Manage room reservation |
| 8 | payment-service | Typescript | Processes payment |
| 9 | message-broker | A Kafka instance |
See the Development guide to learn how to run and develop this app locally.