22 مستودعات
Architectural patterns where an application is built as a single, unified unit.
Distinguishing note: Focuses on the evaluation of monoliths versus microservices.
Explore 22 awesome GitHub repositories matching software engineering & architecture · Monolithic Architectures. Refine with filters or upvote what's useful.
This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac
Details the process of dividing large codebases into independent services to reduce conflicts and accelerate deployment.
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 monolith is a self-contained and independent application. It is built as a single unit and is responsible for not just a particular task, but can perform every step needed to satisfy a business need. ### Advantages Fol
Phabricator is a software development suite consisting of a collection of integrated web applications designed to manage the full software engineering lifecycle. It serves as a project management platform, issue tracking system, and code review tool. The suite provides capabilities for bug tracking and coordination, allowing teams to report and manage software defects and feature requests. It also facilitates peer code review workflows to manage proposed changes before they are merged into a repository. The platform includes tools for project task organization and general software developmen
Employs a monolithic architecture where all application logic and data management reside in a single unified codebase.
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
Groups related functionality into isolated modules within a monolith to avoid the complexity of distributed services.
CLRS is an algorithm implementation library and reference providing code solutions for the classic computer science problems and theoretical concepts found in Introduction to Algorithms. It serves as a computer science study guide and a set of textbook exercise solutions used for academic study and the verification of time and space complexity. The project is a multi-language algorithm library, implementing theoretical algorithms across several programming languages to demonstrate cross-language application and behavior. This approach allows for the study of different memory management and sy
Builds independent modules for each data structure and algorithm to facilitate isolated testing and academic study.
Awesome Fenix is an open-source reference project and comprehensive guide that traces the evolution of software architecture from monolithic systems through microservices, service meshes, and serverless patterns. At its core, it provides a working bookstore application implemented in multiple architectural styles, allowing developers to study the trade-offs and migration paths between each approach through runnable code examples. The project distinguishes itself by treating infrastructure as disposable and reproducible, using Docker and Kubernetes to hide distributed complexity while enabling
Evolves the system through monolithic, microservices, service mesh, and serverless stages with runnable code at each step.
Gumroad is a self-hosted e-commerce platform built with Ruby on Rails that enables creators to sell digital products directly to consumers through a customizable web storefront. At its core, it provides a complete digital product storefront with Stripe payment integration for processing transactions securely. The platform is structured as a Rails monolith using service objects to organize business logic, with PostgreSQL powering full-text search for product discovery and Rails migrations managing database schema changes. It handles file delivery through Active Storage backed by Amazon S3, mai
Organises business logic into single-purpose service classes called from controllers, keeping models thin and actions testable.
This project is a comprehensive educational resource and curriculum focused on site reliability engineering, distributed systems, and infrastructure operations. It provides technical guides, a systems engineering course, and instructional manuals designed to teach the principles of managing large-scale computing environments. The curriculum covers high-level architectural design for scalability and resilience, including fault-tolerant infrastructure, high-availability patterns, and microservices decomposition. It emphasizes the practical application of site reliability engineering through the
Instructs on splitting monolithic applications into chunks to balance CPU and memory requirements.
Inertia is a server-driven frontend framework designed to create monolithic single page applications. It acts as a state synchronization protocol and client-side routing bridge, allowing developers to build interactive experiences using modern JavaScript component libraries while keeping routing and controllers on the server. This approach eliminates the need for a separate REST or GraphQL API layer by passing data from server controllers to frontend components as props via JSON payloads. The framework distinguishes itself by utilizing adapter-based integration to link various backend environ
An approach to web development that eliminates the need for a separate REST or GraphQL API layer.
Hanami is a full-stack Ruby web framework and API platform designed for building maintainable applications. It centers on a modular web architecture that organizes software into independent slices to prevent monolithic growth and isolate functional units. The framework implements a clean architecture by decoupling business logic from persistence and request handling. This is achieved through a central dependency injection container for managing object lifetimes and a repository pattern mapper that separates domain entities from the persistence layer. The project further provides a Rack-compa
Organizes the application into independent slices to prevent monolithic growth and isolate functional units.
هذا إطار عمل لإدارة الوحدات لتطبيقات Laravel مصمم لتنظيم قواعد الكود المتجانسة في مكونات نمطية مستقلة. ينفذ بنية تطبيق نمطية تفصل منطق الأعمال إلى وحدات قائمة بذاتها، لكل منها مجلداتها المخصصة لوحدات التحكم، والنماذج، وطرق العرض. يعمل المشروع كأداة للتصميم الموجه بالمجال (Domain Driven Design)، مما يسمح للمطورين بتجميع الوظائف ذات الصلة في سياقات محدودة. يدعم هذا النهج ترحيل التطبيقات المتجانسة إلى وحدات صغيرة قابلة للإدارة لتحسين الصيانة وقابلية التوسع على المدى الطويل. يتعامل إطار العمل مع تنظيم المشروع من خلال اكتشاف الوحدات القائم على المجلدات، وتعيين مساحة الاسم المخصصة، والتمهيد القائم على مزود الخدمة. يدير حالة التطبيق عبر التحميل القائم على التكوين ويؤتمت موقع الموارد باستخدام هيكلة المجلدات القائمة على الاتفاقية وحقن المسار الديناميكي.
Facilitates the process of breaking down a large monolithic Laravel codebase into smaller, loosely coupled modules.
Simple flow library 🖥️🖱️
Organizes nodes into separate modules with independent state and connection graphs to manage complex flows.
Lamp Cloud is a multi-tenant SaaS backend framework built on Java and Spring Cloud that provides a complete foundation for building enterprise-grade administration systems. Its core identity centers on supporting multiple tenant isolation strategies—including database-per-tenant, schema-per-tenant, and shared-table modes—that can be switched without altering business code, alongside a role-based access control system enforced at the gateway layer across all microservices. The framework distinguishes itself through comprehensive tenant lifecycle management tools that allow creating, configurin
Runs the same codebase as either a microservice or a monolithic application to fit different deployment needs.
This project is a pure Python game engine and development framework designed for building interactive games without relying on external binary dependencies. It functions as a template library that provides a collection of pre-built game examples and architectural patterns to assist in learning game development logic. The framework supports a prototyping workflow and educational programming through a system of reference examples. It includes a dispatcher for launching specific or random game modules, allowing for the analysis of different functional capabilities and structural patterns. The s
Implements a dispatcher to launch specific or random game modules from a built-in collection for analysis.
هذا المشروع عبارة عن إطار عمل لتصميم الأنظمة الموزعة ودليل معماري. يوفر موارد فنية لتصميم ونشر وتنسيق خدمات الشبكة المستقلة. يؤسس إطار العمل منهجية منظمة لترحيل التطبيقات المتجانسة إلى خدمات لامركزية عن طريق فصل اهتمامات الواجهة الأمامية والخلفية. يعمل كمرجع للهندسة القائمة على الأحداث، مع التركيز على الحفاظ على اتساق البيانات عبر حدود الشبكة باستخدام مصادر الأحداث وسجلات المعاملات المحلية. يغطي المشروع مجموعة واسعة من القدرات بما في ذلك اتصالات الخدمة الموزعة، وتكوين اكتشاف الخدمة، وتنفيذ بوابات API. كما يتناول استراتيجيات النشر للتوافر العالي واستخدام وسيط الرسائل غير المتزامن لفصل الخدمات.
Provides a structured methodology for decomposing monolithic applications into independent services.
Pebble is a reference implementation of wearable firmware intended for embedded system research and firmware analysis. It serves as a technical blueprint for understanding how smartwatch operating systems are structured and executed on constrained hardware. The codebase focuses on low power hardware rendering and the management of pixel data and display buffers to minimize energy consumption. It provides a historical guide for watch application development and the study of wearable software architecture. The system incorporates a hardware abstraction layer, a monolithic firmware image, and a
Combines the kernel and application logic into a single binary blob for flashing onto wearable hardware.
This project is a Go programming language study guide and backend development course. It provides a collection of learning notes and practical examples covering fundamental syntax and core language concepts. The repository functions as a tutorial for building web APIs and network services. It includes implementation guides for the Gin web framework and code demonstrations for creating remote procedure call services using Protocol Buffers. The material covers backend API engineering, including routing, data binding, and error handling. It also includes examples of structured logging and custo
Organizes educational code examples into isolated modules to demonstrate specific Go language features.
DefectDojo is a vulnerability management system and application security orchestration tool. It serves as a centralized platform for importing, deduplicating, and tracking security findings from multiple scanners and tools to manage an organization's overall security posture. The system distinguishes itself by aggregating findings from various security tools into a single report and normalizing that data to prioritize remediation. It provides specific workflows for vulnerability triage and deduplication to reduce noise and redundant manual work across the software development lifecycle. The
Implements a unified monolithic architecture using the Django framework to handle routing, database ORM, and business logic.
Ergo is a distributed actor framework for Go that implements the Erlang distribution protocol, enabling the construction of resilient, concurrent applications that can communicate transparently with Erlang/OTP nodes. At its core, it provides an actor model with isolated lightweight processes, priority-ordered mailboxes, and a meta-process architecture that separates blocking I/O from sequential message handling to prevent actor freezing. The framework includes a Raft-inspired cluster consensus system for leader election and automatic failover, along with OTP-style supervision trees that organi
Ergo splits a single application into separate packages and creates new entry points without changing any application code.
This project is a collection of Python programming scripts and educational mini-projects designed as a shared development environment. It serves as an open source code repository where developers can practice coding and explore data science concepts through hands-on implementation. The repository functions as a collaborative learning resource focused on the fork and pull request workflow. It utilizes a distributed version control system to coordinate community contributions and peer reviews of Python scripts.
Organizes independent scripts and mini-projects within a single root folder for centralized access.