This repository is my personal system design playground where I practice, explore, and document Low-Level Design (LLD) and High-Level Design (HLD) concepts.
The goal is to:
- Enhance my problem-solving skills for system design.
- Write clean, maintainable, and testable code.
- Document design choices with diagrams and trade-offs.
- Practice real-world design scenarios inspired by companies like Swiggy, Uber, Netflix, etc.
system-design-practice/
│
├── LLD/ # Low-Level Design projects
│ ├── README.md # List of all LLD projects
│ ├── project-A/
│ │ ├── README.md # Project-specific details
│ │ ├── src/ # Source code
│ │ ├── tests/ # Unit tests
│ │ └── diagrams/ # UML/Class diagrams
│ └── ...
│
├── HLD/ # High-Level Design projects
│ ├── README.md # List of all HLD projects
│ ├── project-X/
│ │ ├── README.md # Project-specific details
│ │ ├── architecture/ # System/Sequence diagrams
│ │ └── notes.md # Design decisions
│ └── ...
│
├── docs/ # General system design notes & resources
│ ├── best-practices.md
│ └── resources.md
│
├── .github/workflows/ # GitHub Actions (security & tests)
├── LICENSE # MIT License
└── README.md # This file
- Focused on class diagrams, OOP principles, and design patterns.
- Each project includes:
- UML diagrams (Class, Sequence).
- Unit tests and clean code.
- Focused on system architecture and scalability.
- Includes:
- Component diagrams.
- Trade-offs between design choices.
- System constraints & scaling techniques.
- Every LLD project includes unit test cases under the
tests/
folder. - To run all tests:
# Example for Go/Java/Python (modify as per language) make test
- Integrated GitHub Security Actions (.github/workflows/security.yml) to perform:
- CodeQL analysis
- Dependency scanning
This repository is LICENSE under the MIT License.
I’m actively learning from:
- Grokking the System Design Interview
- Low-Level Design blogs and Swiggy ASDE learnings.
Aditya Yadav