{"repo":"CollatzConjecture/nestjs-clean-architecture","free":true,"listed":false,"github":"https://github.com/CollatzConjecture/nestjs-clean-architecture","clone":"git clone https://github.com/CollatzConjecture/nestjs-clean-architecture.git","description":"A modular NestJS boilerplate with CQRS, Event Sourcing, DDD, Clean Architecture, and MongoDB. Built-in observability with Prometheus & Grafana, API docs via Swagger, and Dockerized deployment. Ideal for scalable, maintainable applications.","language":"TypeScript","stars":79,"topics":["boilerplate","boilerplate-template","docker","docker-compose","mongodb","nestjs","prometheus","typescript","grafana","swagger"],"license":"Unlicense","category":"deployment-docker-iac","readme_excerpt":"NestJS Clean Architecture with DDD, CQRS & Event Sourcing This is an advanced boilerplate project implementing Domain-Driven Design (DDD) , Clean Architecture , CQRS (Command Query Responsibility Segregation) , Event Sourcing and MongoDB with NestJS. It provides a robust foundation for building scalable and maintainable enterprise-level applications with proper separation of concerns and clean dependency direction . If you want more documentation about NestJS, click here Nest 📝 Note: This version uses MongoDB with Mongoose . If you prefer the PostgreSQL version with TypeORM , you can find it at the original repository: https://github.com/CollatzConjecture/nestjs-clean-architecture-postgres A quick introduction to clean architecture 🚀 Features Core Architecture - Clean Architecture : Enforces strict separation of concerns with proper dependency direction (Infrastructure → Application → Domain). - Domain-Driven Design (DDD) : Pure business logic encapsulated in Domain Services, accessed through Repository Interfaces. - CQRS : Segregates read (Queries) and write (Commands) operations for optimized performance and scalability. - Event Sourcing : Uses an event-driven approach with sagas for orchestrating complex business processes. - Repository Pattern : Clean interfaces defined in Domain layer, implemented in Infrastructure layer. - Dependency Inversion : Domain layer depends only on abstractions, never on concrete implementations. Proper Layer Separation - Domain Layer : Pure ","default_branch":null,"files":null,"tree":[],"storefront":"/r/CollatzConjecture","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/CollatzConjecture/nestjs-clean-architecture/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}