Skip to content

riturajFi/system-design-labs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧪 system-design-labs

Real systems. Real code. Real trade-offs.

🚀 Hands-on implementations of real-world system design problems in Go, Rust, and Django. This repo focuses on building production-oriented backend and distributed systems from first principles - no diagrams without code, no theory without execution.


🎯 Why This Repo Exists

  • 🔧 Turn system design ideas into running systems
  • ⚖️ Expose engineering trade-offs, not just clean architectures
  • 🧩 Practice step-by-step design → implementation
  • 📈 Build intuition for scale, reliability, and performance under load

❌ Not an interview cheat sheet. ✅ Every system is executable, testable, and stress-tested where it matters.


📦 What’s Inside

Each system lives as an independent module and typically includes:

  • 📝 Clear problem definition and constraints
  • 🧠 Key design decisions and assumptions
  • 🦀 / 🐹 Go and/or Rust implementations
  • 🔀 Concurrency and synchronization logic
  • 🧪 Basic tests and load/stress scenarios
  • 🧭 Known limitations and next-step improvements

Example systems

  • 🆔 ID generators
  • 🔗 URL shorteners
  • 🚦 Rate limiters
  • 🗂️ Job queues
  • 🕷️ Web crawlers
  • ⚡ Caching layers
  • 🧭 Scaling and replication labs

🗺️ Repository Structure (WIP)

/
├── go/
│   ├── id-generator/
│   ├── url-shortener/
│   └── ...
├── django/
│   ├── snowflake-id/
│   └── scaling-concepts/
├── rust/
│   ├── id-generator/
│   ├── rate-limiter/
│   └── ...
└── docs/
    └── design-notes/

🧠 Engineering Philosophy

  • ✍️ Prefer explicit, readable code over clever abstractions
  • 🛠️ Optimize for correctness before performance
  • 📊 Measure behavior under load instead of guessing
  • 💥 Treat failures as first-class design inputs

🚧 Status

Actively evolving. Systems are added incrementally and refined as complexity and scale increase.

About

Hands-on implementations of real-world system design problems in Go and Rust. This repo focuses on building production-oriented backend and distributed systems from first principles, with attention to concurrency, failure handling, observability, and stress testing.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors