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.