Skip to content

Hands-on System Design concepts including HLD, LLD, design patterns, and scalable architectures for interview prep.

License

Notifications You must be signed in to change notification settings

AdarshTiwari3/system-design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

320 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

System Design Repository

Welcome to the System Design repository — a comprehensive resource dedicated to mastering software design principles, patterns, and best practices. This repository is structured to provide both theoretical and practical knowledge on Low-Level Design (LLD) and High-Level Design (HLD) concepts.


Repository Overview

This repository aims to serve as a solid foundation for developers through clear explanations, hands-on code examples, and some unit testing.

High-Level Design (HLD)

  • Covers architectural patterns and system components design.
  • Focuses on designing scalable, maintainable, and efficient systems.

Low-Level Design (LLD)

  • Detailed exploration of essential design patterns commonly used in software development.
  • Practice questions to reinforce understanding of design concepts.
  • Emphasis on SOLID principles with clear, annotated code implementations.
  • Unit testing of SOLID principles code using pytest, ensuring code correctness and reliability.

Key Features

  • SOLID Principles
    Clear, well-documented implementations of each SOLID principle, illustrating their importance and practical usage in software design.

  • Design Patterns
    Covers widely used design patterns with example implementations and explanations to demonstrate best practices.

  • Practice Problems
    Thoughtfully crafted exercises to apply learned design concepts and patterns in real-world scenarios.

  • Unit Testing
    Comprehensive test suites using pytest that validate the correctness and robustness of design principle implementations(only with SOLID principles explanation).


Getting Started

  1. Clone the repository:
    git clone https://github.com/AdarshTiwari3/system-design.git
    cd system-design

Releases

No releases published

Packages

No packages published

Languages