TLDR 🔥
This article contains a list of the top 5 GitHub repositories that will help you to achieve system design mastery.
These repositories mainly contain tutorials, blogs, videos and case studies related to system design
Make sure to visit these repositories, explore the contents, implement the learnings, contribute if you can and give them a ⭐ to help them grow.
What is System Design
System design ⚙️ is the process of designing the architecture, components, interfaces, and data for a particular system to meet specific requirements.
Before building any application or system, 🏗️ it is important to plan how the system will work, what resources will be needed, where to deploy it, which APIs the system components will use, and how to scale the system. Therefore, system design concepts are very important for software developers to master to build efficient and scalable systems. 💯
1. developer-roadmap
kamranahmedse / developer-roadmap
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
Community driven roadmaps, articles and resources for developers
Roadmaps are now interactive, you can click the nodes to read more about the topics.
Here is the list of available roadmaps with more being actively worked upon.
Have a look at the get started page that might help you pick up a path.
- Frontend Roadmap / Frontend Beginner Roadmap
- Backend Roadmap / Backend Beginner Roadmap
- DevOps Roadmap / DevOps Beginner Roadmap
- Full Stack Roadmap
- Git and GitHub
- API Design Roadmap
- Computer Science Roadmap
- Data Structures and Algorithms Roadmap
- AI and Data Scientist Roadmap
- AI Engineer Roadmap
- AWS Roadmap
- Linux Roadmap
- Terraform Roadmap
- Data Analyst Roadmap
- MLOps Roadmap
- Product Manager Roadmap
- QA Roadmap
- Python Roadmap
- Software Architect Roadmap
- Game Developer Roadmap / Server Side Game Developer
- Software Design and Architecture Roadmap
- JavaScript Roadmap
- TypeScript Roadmap
- C++ Roadmap
- React Roadmap
- React Native Roadmap
- Vue…
developer roadmap The GitHub repository is built and maintained by Kamran Ahmed and this repository can be considered the best handbook for software development
It has 255k stars on Git Hub and 684 contributors. This repository is only available in English and it contains a structured roadmap for everything along with resources, guides, etc.
2. System Design Primer
donnemartin / system-design-primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
English ∙ 日本語 ∙ 简体中文 ∙ 繁體中文 | العَرَبِيَّة ∙ বাংলা ∙ Português do Brasil ∙ Deutsch ∙ ελληνικά ∙ עברית ∙ Italiano ∙ 한국어 ∙ فارسی ∙ Polski ∙ русский язык ∙ Español ∙ ภาษาไทย ∙ Türkçe ∙ tiếng Việt ∙ Français | Add Translation
Help translate this guide!
The System Design Primer
Motivation
Learn how to design large-scale systems.
Prep for the system design interview.
Learn how to design large-scale systems
Learning how to design scalable systems will help you become a better engineer.
System design is a broad topic. There is a vast amount of resources scattered throughout the web on system design principles.
This repo is an organized collection of resources to help you learn how to build systems at scale.
Learn from the open source community
This is a continually updated, open source project.
Contributions are welcome!
Prep for the system design interview
In addition…
Sytem Design Primer GitHub repository was created by a tech Lead at Facebook (now Meta). This repository can be considered the bible of system design
It has 233k stars on GitHub and 100+ contributors and is available in many different languages.
3. system-design-101
ByteByteGoHq / system-design-101
Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.
【 👨🏻💻 YouTube | 📮 Newsletter 】
System Design 101
Explain complex systems using visuals and simple terms.
Whether you're preparing for a System Design Interview or you simply want to understand how systems work beneath the surface, we hope this repository will help you achieve that.
Table of Contents
-
Communication protocols
- REST API vs. GraphQL
- How does gRPC work?
- What is a webhook?
- How to improve API performance?
- HTTP 1.0 -> HTTP 1.1 -> HTTP 2.0 -> HTTP 3.0 (QUIC)
- SOAP vs REST vs GraphQL vs RPC
- Code First vs. API First
- HTTP status codes
- What does API gateway do?
- How do we design effective and safe APIs?
- TCP/IP encapsulation
- Why is Nginx called a “reverse” proxy?
- What are the common load-balancing algorithms?
- URL, URI, URN - Do you know the differences?
- CI/CD
- Architecture patterns
System Design 101 GitHub repository is built and maintained by Byte Byte Go Hq which is a platform to ace System Design interviews
It has 39.2k starts on Github and 14 contributors. This repository is only available in English and is the best repository for beginners. This repository contains effective guides on topics like communication protocols, CI-CD, Architectural patterns, microservices, DevOps, cloud, Linux, etc.
4. System Design Resources
InterviewReady / system-design-resources
These are the best resources for System Design on the Internet
System Design Resources
These are the best resources for System Design on the Internet.
Table of Contents
- Video Processing
- Cluster and Workflow Management
- Intra-Service Messaging
- Message Queue Antipattern
- Service Mesh
- Practical System Design
- Distributed File System
- Time Series Databases
- Rate Limiting
- In Memory Database - Redis
- Network Protocols
- Chess Engine Design
- Subscription Management System
- Google Docs
- API Design
- NoSQL Database Internals
- NoSQL Database Algorithms
- Database Replication
- Containers and Docker
- Capacity Estimation
- Publisher Subscriber
- Event Driven Architectures
- Software Architectures
- Microservices
- Distributed Transactions consistency Patterns
- Load Balancing
- Alerts and Anomaly Detection
- Distributed Logging
- Metrics and Text Search Engine
- Single Point of Failure
- Location Based Services
- Batch Processing
- Real Time Stream Processing
- Caching
- Distributed Consensus
- Authorization
- Content Delivery Network
- Testing Distributed Systems
- System Design Resources
Video Processing
- Transcoding Videos at Scale
- Facebook Video Broadcasting
- Netflix Video Encoding at Scale
- Netflix Shot based encoding
Cluster and Workflow Management
Sytem Design Resources GitHub repository is built and maintained by Interview Ready which is a platform to ace Sytem design interviews for big tech giants.
It has 11.4k stars on Git Hub and 8 contributors. This repository is only available in English. It includes case studies, guides and video lectures on various system design topics including Video Processing, Cluster and Workflow Management, Intra-Service Messaging, Message Queue Antipattern, Service Mesh, Practical System Design, Distributed File System, Time Series Databases, Rate Limiting,In Memory Database - Redis, and many more
5. system-design
karanpratapsingh / system-design
Learn how to design systems at scale and prepare for system design interviews
System Design
Hey, welcome to the course. I hope this course provides a great learning experience.
This course is also available on my website and as an ebook on leanpub. Please leave a ⭐ as motivation if this was helpful!
Table of contents
-
Getting Started
-
Chapter I
-
Chapter II
-
Chapter III
- N-tier architecture
- Message Brokers
- Message Queues
- Publish-Subscribe
- Enterprise Service Bus (ESB)
- Monoliths and Microservices
- Event-Driven Architecture (EDA)
- Event Sourcing
- Command and Query Responsibility Segregation (CQRS)
- API Gateway
- REST, GraphQL, gRPC
- Long polling, WebSockets, Server-Sent Events (SSE)
-
Chapter IV
- …
system-design GitHub repository is built and maintained by Karan Pratap Singh who is a Senior Software Engineer at Curebase.
It has 21.1k stars on Git Hub and 9 contributors. This repository is only available in English. It is basically the free version of the author's real book. It has 5 chapters and is best for beginners who are new to development.
Stay tuned for my next blog till then
Top comments (10)
very helpful
Thanks @ashwanipydev
I’m having a hard time understanding what the take-away of this list is.
Repo names that contain system-design.
Oh, neat! So it’s like GitHub’s trending list? Why put that here when GutHub already has a list?
Investing in professional web design is a smart decision that can yield great returns for your business. A reputable las vegas web design company can help you create a website that helps you achieve your goals and outperform the competition.
Thank you , Nice Article ,
I would like to invite you check IDURAR System Design Structure :
GitHub Repo : github.com/idurar/idurar-erp-crm
Sure why not 😀
Very Helpful #Article
Thanks Emdadul