The goal of this project is to provide a restaurant booking system with event sourcing and CQRS using NestJS and EventStoreDB.
This project is composed of 2 services :
- Booker service : responsible for booking a table in the restaurant
- Table manager service : responsible for managing tables in the restaurant
Before you can run this project, you need to have the following installed on your machine:
- pnpm
- Node.js
- Docker
- Clone this repository
- Run
pnpm install
to install dependencies - Run
docker compose up -d
to start services - Run bash
cp services/booker/.env.dist services/booker/.env
to copy env default - Run bash
cp services/table-manager/.env.dist services/booker/.env
to copy env default - Run
pnpm build
to build projects - Run
pnpm migrate:dev
to run migrations - Run
pnpm start:dev
to start both services
Once services are started, you can access the API documentation at the following URLs:
Contributions are welcome. Please open up an issue or create PR if you would like to help out.