Skip to content

Repository files navigation

System Design From Scratch

This repository is a structured guide to learning System Design from the ground up, with organized notes, examples, and practical references. It covers both High-Level Design (HLD) and Low-Level Design (LLD) concepts, focusing on clarity, scalability, and real-world relevance.


Overview

System Design is the foundation of building scalable, reliable, and efficient software systems. This repository organizes key topics into sections — from the basics of scalability to real-world design examples like Netflix, Twitter, and chat-apps.

Each topic is concise, complete, and designed to be beginner-friendly yet industry-relevant.


Repository Structure

system-design-from-scratch/
├── 00-roadmap/              → Learning path and key resources
├── 01-basics/               → Foundational concepts (scalability, caching, CAP theorem, etc.)
├── 02-components/           → Core system components (API gateway, CDN, proxies, etc.)
├── 03-design-patterns/      → Architectural patterns (Microservices, CQRS, Event-driven, etc.)
├── 04-high-level-designs/   → Real-world system designs (Twitter, Uber, YouTube, etc.)
├── 05-low-level-designs/    → OOP design, SOLID principles, and LLD examples
├── 06-cheatsheets/          → Quick references, FAQs, and interview prep
├── 07-visuals/              → Diagrams, mind maps, and infographics
└── CONTRIBUTING.md          → Contribution guidelines

Learning Approach

  1. Start with 00-roadmap/ for a guided learning sequence.
  2. Move to 01-basics/ and 02-components/ to build your fundamentals.
  3. Study 03-design-patterns/ to understand how large-scale systems are structured.
  4. Explore 04-high-level-designs/ for real-world architectures.
  5. Review 05-low-level-designs/ for implementation-level understanding.
  6. Use 06-cheatsheets/ and 07-visuals/ for revision and quick recall.

Key Topics Covered

  • Scalability, Load Balancing, and Caching
  • Databases, Sharding, and Replication
  • CAP Theorem, Availability vs Consistency
  • API Gateways, Message Queues, CDNs, and Proxies
  • Microservices, CQRS, Pub/Sub, Event-Driven Design
  • High-Level System Design Case Studies
  • Low-Level Design and SOLID Principles
  • Interview Preparation and Cheatsheets

Contributions

Contributions are welcome. If you’d like to add, correct, or improve content:

  • Fork the repo
  • Create a new branch
  • Commit your changes
  • Open a Pull Request

Refer to CONTRIBUTING.md for details.


Goal

To build a complete, open, and concise System Design resource that helps learners and engineers understand not just what to design, but how and why systems work at scale.

About

No description, website, or topics provided.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors