8 مستودعات
Guidance on building single-unit applications structured into independent, feature-based modules.
Distinguishing note: Distinct from standard monoliths by emphasizing internal modularity and boundary enforcement.
Explore 8 awesome GitHub repositories matching software engineering & architecture · Modular Monoliths. Refine with filters or upvote what's useful.
This project is a comprehensive educational resource focused on the principles, patterns, and trade-offs required to design scalable, reliable, and high-performance distributed systems. It provides a structured curriculum that covers the fundamental architectural strategies necessary for building modern software infrastructure, ranging from high-level system decomposition to low-level networking and data management. The repository distinguishes itself by offering deep dives into complex architectural patterns, such as microservices-based decomposition, event-driven communication, and command-
A Modular Monolith is an approach where we build and deploy a single application (that's the Monolith part), but we build it in a way that breaks up the code into independent modules for each of the features needed in
This project provides a structured template for building enterprise applications using a modular monolith architecture. It demonstrates how to organize complex business logic into independent, domain-specific modules that remain contained within a single deployment unit. The architecture enforces strict boundaries between components to minimize coupling and complexity. It utilizes domain-driven design principles to map software components directly to real-world business concepts, ensuring that logic remains independent of infrastructure concerns. Communication between these isolated modules i
Provides a structured template for building enterprise applications as modular monoliths.
This project is a collection of software engineering principles and architectural design patterns designed to minimize the mental effort required to understand and maintain source code. It serves as a guide for implementing clean code methodologies and architectural simplification to reduce the overall cognitive load on developers. The framework emphasizes aligning module boundaries and ubiquitous language with business stakeholders to prevent architectural ripple effects. It advocates for balancing service granularity to avoid the overhead of distributed monoliths and suggests favoring objec
Advocates for modular monoliths to avoid the complexity and network overhead of distributed monoliths.
This project is a production-ready starter kit and boilerplate for building multi-tenant software-as-a-service applications using .NET and React. It provides a multi-tenant application framework and a cloud-native infrastructure kit designed to support scalable cloud services. The project distinguishes itself through a modular monolith architecture that organizes business logic into isolated bounded contexts to prevent code entanglement. It implements comprehensive SaaS identity management, including role-based access control, account impersonation, and strict tenant data isolation across the
Utilizes a modular monolith architecture to organize business logic into isolated domain modules.
هذا المشروع عبارة عن تنفيذ مرجعي لأنماط التصميم الموجه بالمجال (Domain-Driven Design)، ونمذجة المجال الوظيفي، وتنسيق الحالة المدفوع بالأحداث. يوضح تطبيق أنماط التصميم الاستراتيجية والتكتيكية لإدارة متطلبات العمل المعقدة. يستخدم التنفيذ نموذج مجال وظيفي مع وظائف نقية وكائنات غير قابلة للتغيير لإدارة انتقالات الحالة والآثار الجانبية. ويتميز ببنية فصل مسؤولية الأمر والاستعلام (CQRS) لفصل نماذج القراءة والكتابة، إلى جانب التنسيق المدفوع بالأحداث للحفاظ على الاتساق عبر حدود العمل المستقلة. تتضمن قاعدة الكود بنية متجانسة معيارية باستخدام سياقات محدودة وطبقات سداسية لعزل المنطق الأساسي عن البنية التحتية. تتم إدارة ضمان الجودة من خلال مجموعة تطوير مدفوعة بالسلوك تعكس اللغة الشائعة للتحقق من سيناريوهات العمل والاختبارات المؤتمتة التي تفرض قيوداً معمارية. يطبق المشروع هذه الأنماط على مجال إدارة المكتبة، ويغطي صيانة كتالوج الكتب، وسير عمل التداول، وعمليات التحقق من الحجز، وتتبع عمليات الخروج المتأخرة.
Organizes the system into independent bounded contexts within a single unit to maintain clear boundaries.
Implementation of a bulletproof node.js API 🛡️
Organizes the boot process into small, testable loader files for Express and database setup.
هذا المشروع عبارة عن إطار عمل لتصميم الأنظمة الموزعة ودليل معماري. يوفر موارد فنية لتصميم ونشر وتنسيق خدمات الشبكة المستقلة. يؤسس إطار العمل منهجية منظمة لترحيل التطبيقات المتجانسة إلى خدمات لامركزية عن طريق فصل اهتمامات الواجهة الأمامية والخلفية. يعمل كمرجع للهندسة القائمة على الأحداث، مع التركيز على الحفاظ على اتساق البيانات عبر حدود الشبكة باستخدام مصادر الأحداث وسجلات المعاملات المحلية. يغطي المشروع مجموعة واسعة من القدرات بما في ذلك اتصالات الخدمة الموزعة، وتكوين اكتشاف الخدمة، وتنفيذ بوابات API. كما يتناول استراتيجيات النشر للتوافر العالي واستخدام وسيط الرسائل غير المتزامن لفصل الخدمات.
Guidance on converting single-tier applications into distributed services by separating frontend and backend.
يعمل هذا المشروع كمورد تعليمي شامل لتنفيذ المونوليثات المعيارية والخدمات المصغرة داخل بيئات .NET. يركز على تطبيق مبادئ التصميم الموجه بالمجال (domain-driven design) لإدارة منطق العمل المعقد، مما يوفر نهجاً منظماً لبناء أنظمة يمكن أن تتطور جنباً إلى جنب مع المتطلبات المتغيرة. يتم تعريف البنية بتركيزها على النمطية والحدود الواضحة، باستخدام شرائح رأسية وسياقات محدودة لتنظيم الكود حسب عملية العمل بدلاً من الطبقة التقنية. يتميز بإطار عمل ترحيل منهجي يسمح للمطورين بالانتقال من قاعدة كود متجانسة إلى خدمات مستقلة وموزعة. يتم تحقيق ذلك عن طريق استبدال الاتصال الداخلي بمراسلة قوية قائمة على الأحداث وضمان بقاء منطق المجال منفصلاً عن مخاوف الاستمرار والبنية التحتية. يغطي المشروع نطاقاً واسعاً من القدرات، بما في ذلك نمذجة المجال التكتيكية مع التجميعات والكيانات، واستراتيجيات الاختبار المؤتمتة باستخدام البنية التحتية المعبأة (containerized)، والحفاظ على سجلات القرارات المعمارية لتتبع تطور التصميم. كما يوفر أدوات لتنسيق التطوير المحلي والتحليل الثابت لفرض معايير الجودة عبر الوحدات المستقلة. يتم تنظيم المستودع كدليل عملي، يقدم منهجية خطوة بخطوة لتوسيع بنية البرمجيات بشكل تزايدي.
Provides comprehensive guidance on building single-unit applications structured into independent, feature-based modules.