npathai / system-design-with-code

System design not just on whiteboard, but with code.
21 stars 7 forks source link
architectural-patterns architecture interview-preparation microservice software-architecture software-design system-design

system-design-with-code :computer:

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

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