
Nestjs Microservice boilerplate: apply DDD, CQRS, and Event Sourcing within an event driven architecture
This is a microservice boilerplate based on NestJS v10, built with TypeScript. It is designed to be commitizen friendly and provides a starting point for developing and testing microservices. The project can be run on a containerized environment using Docker or on a local machine.
Prerequisites:
Installation: The build script will perform the following steps:
Usage:
Access EventStore credentials: |User|Password| |--|--| |admin|changeit|
Adminer Form Credentials: |Server|User|Password|Database| |--|--|--|--| |sql-db|root|root|demo-db|
Microservice Docker Container Clean Up: The cleanup script provides two options: soft clean up and hard clean up.
Soft clean up:
Hard clean up:
Prerequisites:
Installation:
The microservice boilerplate is built with NestJS v10 and TypeScript, providing a solid foundation for developing and testing microservices. It offers features like commitizen compatibility and can be run on a containerized environment using Docker or on a local machine. The installation process includes setup for both environments, and cleanup scripts are provided for easy removal of containers and data directories. Overall, this boilerplate aims to streamline the development process and provide an efficient starting point for building microservices.

A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript.
ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.
A website that uses GraphQL as a query language to manage data fetching and state management. This includes features such as a strongly typed schema, client-side caching, and declarative data fetching to streamline data management and optimize website performance.
TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.