30 open-source projects similar to karanpratapsingh/system-design, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
This project is a comprehensive educational resource and study guide focused on distributed systems architecture and backend infrastructure design. It provides a structured curriculum for mastering the principles of scalability, reliability, and performance required to design complex software systems. The repository distinguishes itself by offering a methodical approach to technical interview preparation, incorporating design patterns, architectural trade-offs, and spaced repetition tools to help users retain complex concepts. It emphasizes constraint-driven analysis, teaching users how to ev
This project provides a framework for managing multi-agent systems, designed to automate complex software development, infrastructure, and business workflows. It functions as a multi-agent workflow orchestrator that routes tasks to domain-specific workers while maintaining state persistence and infrastructure automation. By leveraging large language models, the system decomposes high-level objectives into actionable plans, ensuring that complex operations are executed with consistency and reliability. The framework distinguishes itself through its hierarchical agent registry and policy-driven
This project provides educational materials and courseware focused on the theoretical and practical foundations of distributed systems design. It serves as a comprehensive curriculum covering the disciplines of consensus, data consistency, reliability engineering, and scalability. The instructional content focuses on achieving cluster agreement through consensus algorithms and managing system-wide state via coordination frameworks. It includes a dedicated guide to data theory, exploring replication strategies, consistency models, and data convergence. The courseware covers a broad capability
This project is a distributed systems design framework and architecture guide. It provides technical resources for designing, deploying, and coordinating independent network services. The framework establishes a structured methodology for migrating monolithic applications into decentralized services by separating frontend and backend concerns. It serves as a reference for event-driven architecture, focusing on maintaining data consistency across network boundaries using event sourcing and local transaction records. The project covers a broad range of capabilities including distributed servic
This project is a learning platform and study guide focused on the principles of distributed systems and software architecture. It provides a collection of architectural scenarios and technical problem statements designed to help engineers practice system design, capacity planning, and trade-off analysis for high-scale services. The repository distinguishes itself by offering functional prototypes and models for complex engineering challenges. Rather than providing purely theoretical documentation, it includes executable representations of system components—such as storage services, load bala
This repository serves as a technical reference for designing scalable, resilient, and performant software within distributed service environments. It provides a collection of architectural patterns and structural strategies intended to guide the development of complex, decoupled systems that maintain high availability and data integrity under heavy load. The resource focuses on the core principles of microservices architecture, offering guidance on managing communication between independent software components through both synchronous and asynchronous messaging. It details strategies for mai
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
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
JavaFamily is a curated set of learning paths and reference guides for backend engineering, distributed systems, and virtual machine internals. It provides a structured curriculum covering the Java language, operating system concepts, and network protocols. The project features detailed study guides for the Java virtual machine architecture, including memory management and garbage collection. It also includes a comprehensive reference for distributed systems, covering microservices, remote procedure call frameworks, and scalable system design. The collection covers a broad range of technical
This project is a curated educational resource providing structured guidance on the architecture, design principles, and implementation of distributed computing systems. It serves as a comprehensive study guide for understanding the theoretical and practical aspects of building resilient, fault-tolerant software. The repository functions as a collection of translated notes, annotated code examples, and academic resources that focus on core concepts such as consensus, data replication, and consistency models. By organizing complex technical topics into a logical curriculum, it assists in the s
This project is a guided roadmap for Go backend engineering, providing a structured learning path to master the language and its ecosystem. It serves as an educational outline for progressing from beginner to professional proficiency in software development. The roadmap specifically covers microservices architecture, detailing the implementation of remote procedure calls, message brokers, and distributed tracing. It also functions as a tooling curriculum, identifying industry standard libraries for logging, unit testing, and integration testing. The broader scope encompasses backend engineer
JavaTutorial is a specialized knowledge base and set of study guides focused on backend engineering, the Java ecosystem, distributed systems, and database internals. It serves as a technical reference for engineers, providing structured learning paths and curated content designed for Java backend developer interview preparation. The resource distinguishes itself through deep-dive analyses of internal mechanics, including JVM memory management, garbage collection algorithms, and the internal architecture of the Spring Framework. It provides detailed studies on database internals specifically f
Complete-System-Design is a comprehensive software architecture study guide and learning curriculum designed for engineering education and interview preparation. The repository provides structured reference materials covering fundamental system principles, scalability patterns, and asynchronous load distribution techniques for large-scale systems. The content is organized into multi-day study tracks, hierarchical directories, and modular curricula composed of markdown documents. It features methodical interview frameworks with decision trees for solving open-ended architectural problems, alo
This project is a comprehensive, community-driven knowledge repository designed to support software engineers in mastering distributed systems and architectural design. It functions as a structured compendium of engineering principles, providing a centralized index of patterns, trade-offs, and best practices required for building scalable and reliable software infrastructure. The repository distinguishes itself through a highly organized taxonomy that connects complex technical concepts into a cohesive learning path. It features a categorized collection of system design interview problems, ra
This project is a comprehensive microservices development framework designed to build scalable, resilient backend systems. It provides a production-ready runtime that integrates stability patterns directly into the service architecture, ensuring consistent performance and reliability for both web and remote procedure call services even under heavy traffic conditions. The framework centers on an interface-first development model, utilizing a domain-specific language to define service contracts that serve as the single source of truth. This approach powers an extensive code generation ecosystem
This project is a collection of educational resources and structured study materials focused on mastering distributed systems, backend infrastructure, and architectural patterns. It provides a comprehensive curriculum designed to help engineers understand the fundamental principles of building scalable, reliable, and high-traffic software systems. The repository serves as a reference for evaluating technical design decisions and preparing for architectural interviews. It covers a wide range of engineering competencies, including infrastructure planning, the analysis of common design trade-off
This project is a technical programming guide and educational resource focused on Go internals, runtime mechanisms, and advanced language features. It provides detailed conceptual analysis of the language's execution model, including its scheduler, memory escape analysis, and garbage collection mechanisms. The material distinguishes itself through deep dives into high-concurrency system design, exploring the implementation of worker pools and communication channels. It also covers low-level network programming with a focus on I/O multiplexing and TCP state management, alongside a study of dis
Talent Plan provides guided training programs and curricula centered on distributed database design, systems programming, and open source contribution workflows. The project offers a distributed systems education program consisting of curated courses and labs focused on database internals. The curriculum emphasizes the use of the Rust language for building high-performance networked applications and implementing distributed algorithms. It integrates educational materials on version control, community governance, and the specific processes required to contribute to public software projects. T
AspNetCoreDiagnosticScenarios is a collection of anti-pattern galleries and architectural examples for ASP.NET Core and C#. It provides a series of broken code samples and case studies designed to illustrate common pitfalls, scalability bottlenecks, and reliability problems within the .NET web ecosystem. The project focuses on identifying problematic application patterns through the use of comparative implementation pairs, where broken scenarios are matched with corrected versions. These examples specifically cover dependency injection misconfigurations, middleware pipeline ordering, and the
This project is a reference implementation of Domain-Driven Design patterns, functional domain modeling, and event-driven state coordination. It demonstrates the application of strategic and tactical design patterns to manage complex business requirements. The implementation utilizes a functional domain model with pure functions and immutable objects to manage state transitions and side effects. It features a Command Query Responsibility Segregation architecture to separate read and write models, alongside event-driven coordination to maintain consistency across autonomous business boundaries
This project serves as a comprehensive technical reference for the architecture and design of data-intensive applications. It provides a structured analysis of the fundamental principles required to build reliable, scalable, and maintainable software systems, covering the core trade-offs inherent in modern data infrastructure. The repository explores the mechanics of distributed data management, including strategies for replication, partitioning, and achieving consensus across multiple nodes. It details the design of storage engines, indexing techniques, and transaction management models, whi
This project is a comprehensive technical interview preparation resource and computer science interview guide. It serves as an educational reference for developers to study core software engineering fundamentals and common coding patterns required for employment screenings. The repository provides detailed guides and references covering data structures and algorithms, networking and security, operating systems, and web development. It specifically focuses on the implementation and complexity analysis of sorting, searching, and graph algorithms. The material encompasses a wide breadth of comp
Mattermost is a self-hosted, enterprise-grade communication platform designed for organizations that require strict control over their internal data and messaging infrastructure. It functions as a centralized hub for real-time team interaction, offering persistent messaging, voice and video conferencing, and integrated project management tools within a single, private workspace. The platform is built to support high-security environments, including air-gapped deployments where public internet access is restricted or unavailable. The platform distinguishes itself through a focus on regulatory
Spring Cloud Platform is a management system for orchestrating and monitoring microservices built on the Spring Cloud and Alibaba ecosystems. It serves as a centralized infrastructure for managing distributed service ecosystems. The platform includes a gateway controller for managing backend traffic, rate limiting, and load balancing, alongside a role-based access control system for managing user permissions in multi-tenant applications. It also provides a visualization dashboard for tracking the runtime status and performance metrics of independent service instances. The system covers distr
This project is a comprehensive learning resource and reference guide for software architecture and distributed systems design. It serves as a structured curriculum for engineers to study fundamental architectural patterns, scalability strategies, and distributed computing theory, specifically tailored to prepare for technical interviews and professional engineering roles. The repository distinguishes itself by providing a curated collection of industry-standard infrastructure tools and methodologies. It covers the selection and implementation of technologies for data storage, message brokeri
This project is a Spring Cloud microservices boilerplate and distributed system infrastructure designed to accelerate the development of enterprise Java applications. It provides a reference architecture that combines a Java backend with a decoupled Vue.js frontend framework. The system includes a complete e-commerce reference implementation, featuring a digital storefront with a full shopping workflow and a backend operations platform for business management. It also integrates OAuth 2.0 for identity management, supporting stateless authentication and third-party login services. The infrast
This repository serves as a technical learning platform and study guide focused on low-level system design and distributed systems architecture. It provides educational materials and implementation examples designed to help engineers master the foundational components required to build scalable and reliable backend infrastructure. The project emphasizes the practical application of architectural patterns through the construction of essential software modules. By implementing building blocks such as in-memory caches, event-driven message buses, and rate limiters, users can analyze the internal
This project is a centralized engineering knowledge repository that provides a structured curriculum for mastering system design, architectural patterns, and fundamental software development workflows. It serves as a professional development resource for engineers, offering foundational knowledge and real-world case studies to support the design of scalable, secure, and efficient distributed systems. The repository distinguishes itself through a visual-first approach to knowledge synthesis, distilling complex technical concepts into high-density graphical diagrams and succinct illustrations.
InternetArchitect is an educational collection of documents and source code designed as a high concurrency architecture course. It serves as a distributed systems implementation guide, providing technical patterns and practical examples for designing scalable internet architectures that maintain stability under heavy traffic loads. The project focuses on high-performance database optimization and microservices design patterns. It covers strategies for reducing latency and increasing throughput via database sharding and proxy layers, as well as coordinating global state across distributed clus
This project is a comprehensive learning path for C# backend development, designed to guide developers through the skills and technologies required to build professional server-side applications. It serves as a technical curriculum focused on the .NET ecosystem. The roadmap specifically emphasizes cloud-native development and microservices architecture. It provides a structured guide to the tools and patterns necessary for designing distributed systems and deploying scalable services to the cloud. The content covers broader domain areas including backend career planning and the engineering p