Skip to content

npathai/system-design-with-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

system-design-with-code 💻

System design not just on whiteboard, but with code.

Build Status

Why this repository?

This repository represents an effort to learn System Design by experimenting, failing-fast, learning from that experince and providing all the fellow developers a wealth of knowledge in terms of source code.

System design always seemed quiet far from reach because the knowledge available online either is too shallow or basic, or quiet high level. Being a developer, I wanted to learn by looking at code and experimenting. Facing challenges head on and building robust systems. If you feel the same, then this repository is perfect for you!

Goals

Try to re-create system design case studies, not just on prototype scale but full scale. I intend to deploy sytems on cloud and load test them at scale.

All systems built in this repository should be

  • Microservices driven (or even Serverless)
  • Lightweight
  • Highly scalable
  • Fault tolerant (kill machines randomly and system shouldn't cave in)
    • No single point of failure
  • High performance
  • Observable and Traceable

Projects

URL Shortening Service

Chatter (Slack) - Inspired from Mattermost

Discourse (QnA)

BookMyShow

Technology Stack

  1. Micronaut Framework
  2. Zookeeper
  3. Consul Service Discovery
  4. MySQL
  5. Redis Cache
  6. Test Containers
  7. React (frontend)
  8. Docker
  9. Zipkin
  10. Hystrix/Resilience4J
  11. Micrometer
  12. Prometheus
  13. Grafana
  14. Gatling