Skip to content

sajidhamdard/system-design

Repository files navigation

πŸ—οΈ System Design & Architecture Notes Index

A complete guide to learning system design from fundamentals β†’ advanced distributed systems β†’ networking β†’ DevOps β†’ real-time systems.


⭐ Recommended Learning Path

  1. Start with fundamentals β†’ ACID, CAP, NFR, Idempotency
  2. Move to core system design β†’ Caching, Databases, Partitioning, HLD
  3. Understanding distributed systems β†’ Consensus, Event-driven, Replication
  4. Networking & performance β†’ HTTP, load balancing, latency
  5. Scaling & HA β†’ Failover, multi-region, resiliency
  6. Security β†’ OAuth2, JWT, TLS, OWASP
  7. Advanced concepts β†’ CRDT, OT, ABR video streaming
  8. DevOps + Kubernetes β†’ Pods, Ingress, Prometheus
  9. Design problems β†’ Chat system, Notification system, Rate limiting

πŸ“˜ Fundamentals & Design Principles


πŸ—„οΈ Databases & Storage

Concepts

Systems

Logs, Storage & Recovery

Replication & Transactions

Change Data & Migration


⚑ Performance, Scalability & Caching

Caching

Performance Engineering

Scaling & Load


πŸ›‘οΈ High Availability & Fault Tolerance


🌐 Networking & Infrastructure

Core Networking

Load Balancing

Traffic Delivery

Server Concepts

API Management


πŸ“© Messaging, Streaming & Async Systems

Messaging

Streaming

Architectures

Real-time


πŸ” Security & Authentication


πŸ› οΈ Tools, DevOps & Operations


🧱 Architecture Patterns & System Design


πŸ” Search, Indexing & Analytics


πŸŽ₯ Data Processing, Streaming & Video Tech


πŸ’¬ System Design Use Cases


πŸ”’ Identifiers & Utilities


πŸ“— Miscellaneous


πŸ“‘ HTTP Status & Protocol References


🧭 System Design Interview Prep


Releases

No releases published

Packages

No packages published