Ddd Hexagonal Cqrs Es Eda

screenshot of Ddd Hexagonal Cqrs Es Eda
nestjs

Complete working example of using Domain Driven Design (DDD), Hexagonal Architecture, CQRS, Event Sourcing (ES), Event Driven Architecture (EDA), Behaviour Driven Development (BDD) using TypeScript and NestJS. Like what you see? Don't forget to star! ^^^

Overview:

The project is a comprehensive example showcasing the use of Domain Driven Design (DDD), Hexagonal Architecture, CQRS, Event Sourcing (ES), Event Driven Architecture (EDA), and Behaviour Driven Development (BDD) in a TypeScript and NestJS environment. It aims to provide valuable insights into advanced software architecture concepts by demonstrating how to design and create maintainable and flexible software applications. The project includes an over-engineered ToDo app that incorporates various patterns and principles essential for easily changeable, resilient, and maintainable code.

Features:

  • DDD and Hexagonal Architecture: Utilizes Domain Driven Design and Hexagonal Architecture principles for building resilient software.
  • CQRS and Event Sourcing: Implements Command and Query Responsibility Segregation and Event Sourcing for maintaining data consistency.
  • Event Driven Architecture: Incorporates Event Driven Architecture for asynchronous communication and decoupling components.
  • Behaviour Driven Development: Demonstrates the use of BDD for improving collaboration and understanding between technical and non-technical team members.
  • TypeScript and NestJS: Developed using TypeScript and NestJS framework for building scalable and maintainable applications.
nestjs
Nest

A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript.

fullstack
Fullstack

A fullstack boilerplate provides a starter application that includes both frontend and backend. It should include database, auth, payments, user roles and other backend services to build a fully featured saas or webapps.

typescript
Typescript

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.