Microservice boilerplate based on Nest, a framework TypeScript.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. This project cover both, running on a containerized environment using Docker, or on your local machine.
This section will cover the steps to follow for a containerized version of this project.
cd scripts && sudo sh build.sh
The build script Will: * Create private network for containers. * Configure and deploy MYSQL container. * Configure and deploy Adminer container. * Configure and deploy EventStore container. * Configure and deploy nestjs-boilerplate container. * Connect containers to private network. * Enables hot-reloading by mounting working directories inside nestjs-boilerplate container. * Create and mount data directory to mysql container for persistence under $HOME/mysql-data-dir. * Create and mount data directory to EventStore container for persistence under $HOME/eventstore-data-dir.
credentials:
| User | Password |
|---|---|
| admin | changeit |
| - Adminer | |
| - Form |
| Server | User | Password | Database |
|---|---|---|---|
| sql-db | root | root | b2h-db |
| - Microservice Docker Container | |||
| ```bash | |||
| sudo docker exec -it devtest bash | |||
| ``` | |||
| ### Clean up | |||
| Soft clean up |
cd scripts && sudo sh cleanup.sh
The cleanup script soft Will: * Remove private network. * Stop and remove MYSQL container. * Stop and remove Adminer container. * Stop and remove EventStore container.
Hard clean up
#both commands are equivalent
#option1
cd scripts && sudo sh cleanup.sh -h
#option2
cd scripts && sudo sh cleanup.sh --hard
The cleanup script hard Will: * Remove private network. * Stop and remove MYSQL container. * Stop and remove Adminer container. * Stop and remove EventStore container. * Delete Mysql data directory. * Delete EventStore data directory.
This section will cover the steps to follow for a local version of this project.
PS: in order to start receiving events from the EventStore, you should enable projections. (disabled by default)
$ npm install
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
Nest is MIT licensed.
$ claude mcp add nestjs-boilerplate-microservice \
-- python -m otcore.mcp_server <graph>