22 repositorios
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.
Este es un framework de gestión de módulos para aplicaciones Laravel diseñado para organizar codebases monolíticos en componentes modulares independientes. Implementa una arquitectura de aplicación modular que separa la lógica de negocio en unidades autocontenidas, cada una con sus propios directorios dedicados para controladores, modelos y vistas. El proyecto sirve como herramienta para el Diseño Orientado al Dominio (DDD), permitiendo a los desarrolladores agrupar funcionalidades relacionadas en contextos delimitados. Este enfoque admite la migración de aplicaciones monolíticas a módulos más pequeños y manejables para mejorar la mantenibilidad y escalabilidad a largo plazo. El framework maneja la organización del proyecto a través del descubrimiento de módulos basado en directorios, mapeo de namespaces personalizados y bootstrapping basado en service-providers. Gestiona el estado de la aplicación mediante carga basada en configuración y automatiza la ubicación de recursos utilizando estructuras de carpetas basadas en convenciones e inyección dinámica de rutas.
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.
Este proyecto es un framework de diseño de sistemas distribuidos y guía de arquitectura. Proporciona recursos técnicos para diseñar, desplegar y coordinar servicios de red independientes. El framework establece una metodología estructurada para migrar aplicaciones monolíticas a servicios descentralizados separando las preocupaciones de frontend y backend. Sirve como referencia para la arquitectura basada en eventos, centrándose en mantener la consistencia de los datos a través de los límites de la red utilizando el abastecimiento de eventos y registros de transacciones locales. El proyecto cubre una amplia gama de capacidades, incluyendo comunicación de servicios distribuidos, configuración de descubrimiento de servicios y la implementación de puertas de enlace API. También aborda estrategias de despliegue para alta disponibilidad y el uso de intermediación de mensajes asíncronos para desacoplar servicios.
Provides a structured methodology for decomposing monolithic applications into independent services.
Pebble es una implementación de referencia de firmware para wearables destinada a la investigación de sistemas embebidos y análisis de firmware. Sirve como plano técnico para comprender cómo se estructuran y ejecutan los sistemas operativos de relojes inteligentes en hardware con recursos limitados. La base de código se centra en el renderizado de hardware de bajo consumo y la gestión de datos de píxeles y buffers de pantalla para minimizar el consumo de energía. Proporciona una guía histórica para el desarrollo de aplicaciones de reloj y el estudio de la arquitectura de software para wearables. El sistema incorpora una capa de abstracción de hardware, una imagen de firmware monolítica y una combinación de asignación de memoria estática y renderizado directo de framebuffer. La entrada se gestiona a través de un bucle basado en eventos que mapea interrupciones de hardware a devoluciones de llamada (callbacks) de la aplicación. El código fuente se proporciona mediante una distribución de archivos planos e incluye un script automatizado para restaurar la jerarquía de directorios original.
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.
Este proyecto es una colección de scripts de programación en Python y mini-proyectos educativos diseñados como un entorno de desarrollo compartido. Sirve como un repositorio de código de código abierto donde los desarrolladores pueden practicar la codificación y explorar conceptos de ciencia de datos a través de la implementación práctica. El repositorio funciona como un recurso de aprendizaje colaborativo centrado en el flujo de trabajo de fork y pull request. Utiliza un sistema de control de versiones distribuido para coordinar las contribuciones de la comunidad y las revisiones por pares de los scripts de Python.
Organizes independent scripts and mini-projects within a single root folder for centralized access.