Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

System Design 🚀

A comprehensive knowledge base for learning, understanding, and mastering System Design concepts through notes, diagrams, case studies, and interview preparation.


📖 About

This repository documents my System Design learning journey and serves as a long-term reference for interview preparation and real-world software architecture.

Rather than being tied to a single course or YouTube playlist, this repository is organized by concepts. The goal is to build a structured knowledge base that grows over time by combining insights from multiple learning resources, including:

  • 📺 YouTube playlists
  • 📚 Books
  • 📝 Blogs & Articles
  • 📄 Documentation
  • 💼 Real-world system design case studies
  • 💡 Personal notes and learnings

🎯 Goals

  • Build strong System Design fundamentals
  • Understand scalability and distributed systems
  • Learn common architecture patterns
  • Prepare for System Design interviews
  • Document everything in one organized place
  • Create reusable notes for future reference

📂 Repository Structure

System-Design/
│
├── README.md
├── ROADMAP.md
├── RESOURCES.md
│
├── Learning_Journal/
│   └── YouTube_Playlists/
│       ├── Coder-Army/
│       └── ...
│
├── Fundamentals/
├── Networking/
├── Databases/
├── Caching/
├── Messaging/
├── Storage/
├── System_Components/
├── Design_Patterns/
├── Case_Studies/
├── Interview_Questions/
│
├── diagrams/
└── assets/

📝 Learning Journal

The Learning Journal contains raw notes taken while following different learning resources.

These notes are organized by source and help track my learning progress.

Example:

Learning_Journal/
└── YouTube_Playlists/
    └── Coder Army/
        ├── Lecture_01
        ├── Lecture_02
        └── ...

As concepts become clearer, they are converted into well-structured notes inside their respective topic folders.


📚 Topics Covered

This repository will cover (and continue to expand):

  • System Design Fundamentals
  • Scalability
  • Availability
  • Reliability
  • CAP Theorem
  • Load Balancing
  • Reverse Proxy
  • API Gateway
  • CDN
  • Caching
  • Databases
  • SQL vs NoSQL
  • Replication
  • Sharding
  • Consistent Hashing
  • Messaging Queues
  • Event-Driven Architecture
  • Distributed Systems
  • Microservices
  • Storage Systems
  • Authentication & Authorization
  • Rate Limiting
  • Monitoring & Logging
  • Design Patterns
  • Real-world Case Studies
  • System Design Interview Questions

🏗️ Case Studies

This repository will include end-to-end system design discussions for applications such as:

  • URL Shortener
  • WhatsApp
  • Instagram
  • YouTube
  • Netflix
  • Uber
  • Twitter/X
  • Google Drive
  • Notification Service
  • Food Delivery System
  • Ride Sharing Platform
  • Chat Application

📈 Learning Roadmap

Fundamentals
      ↓
Networking
      ↓
Databases
      ↓
Caching
      ↓
Messaging
      ↓
Storage
      ↓
Distributed Systems
      ↓
Design Patterns
      ↓
Case Studies
      ↓
Interview Preparation

📌 Note

The notes in this repository are written in my own words while learning from various resources. They are intended for educational purposes and personal revision. Wherever applicable, the original learning resources are acknowledged in the respective notes.


🤝 Contributions

This repository is primarily maintained as a personal learning resource. Suggestions, corrections, and improvements are always welcome.


⭐ If you find this repository useful

If these notes help you in your learning journey, consider giving the repository a ⭐.

Happy Learning! 🚀

About

A curated repository of System Design concepts, High-Level Design (HLD), Low-Level Design (LLD), architecture diagrams, and interview notes with real-world examples.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages