This project illustrates a modular monolith architecture using NestJS, Nx, and Prisma with an SQLite database. It aims to provide a clean, maintainable, and scalable structure adhering to principles such as Domain-Driven Design (DDD), Clean Architecture, and Hexagonal Architecture. The monorepo includes independent business modules for orders and payments, which communicate through NestJS Microservices, facilitating an eventual transition to a distributed system. Each module maintains its own database schema and features strong isolation, ensuring clear boundaries and low coupling.
Table of contents
📝 Overview📚 Summary🗂️ Folder Structure🧩 Modules Structure⚙️ Getting Started🌎 Environment Variables▶️ Running the Project🧰 Useful Commands🧱 Architecture Overview🔄 Communication🗄️ Database🧰 Best Practices🧩 Internal Module Communication (EventEmitterModule)🔗 Inter-App Communication (NestJS Microservices TCP)▶️ Usage Examples🧪 Technologies🌱 Future Evolution📜 LicenseSort: