Skip to content

riturajFi/system-design-labs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

55 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 and Rust. 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

πŸ—ΊοΈ Repository Structure (WIP)

/
β”œβ”€β”€ go/
β”‚   β”œβ”€β”€ id-generator/
β”‚   β”œβ”€β”€ url-shortener/
β”‚   └── ...
β”œβ”€β”€ 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