Low & High Level System Design
0% Completed
Low Level System Design
Low Level Design Basic Building Blocks
Learn core LLD concepts like inheritance, association, composition, aggregation, with a quick quiz to test understanding.
SOLID Principles
Understand SOLID principles to design clean, scalable, and maintainable systems, with a quiz to reinforce concepts.
Design Patterns
Creational Design Patterns
Learn object creation patterns like Factory, Builder, Singleton, and more, with a quiz to test understanding.
Structural Design Patterns
Learn patterns like Adapter, Decorator, Facade, and Bridge to structure flexible systems, with a quiz to test understanding.
Behavioural Design Patterns
Understand interaction-focused patterns like Command, Observer, State, and Strategy, with a quiz to test concepts.
LLD Topics
LLD Basic Case Studies
Pizza factory
Design a Pizza Factory system from requirements to diagrams, code implementation, and interview Q&A.
SQL Query builder
Design an SQL Query Builder from requirements to diagrams, code implementation, and interview Q&A.
Logger
Design a Logger system covering requirements, diagrams, code, and interview Q&A
Car Price Calculator
Design a Car Price Calculator from requirements to diagrams, code implementation, and interview Q&A.
Weather Station
Design a Weather Station system from requirements to diagrams, code implementation, and interview Q&A.
Intermediate LLD Case Studies
Ticket management system
Design a Ticket Management System from requirements to diagrams, code implementation, and interview Q&A.
Payment processor
Design a Payment Processor from requirements to diagrams, code implementation, and interview Q&A.
Elevator System
Design an Elevator System from requirements to diagrams, code implementation, and interview Q&A.
Car parking
Design a Car Parking system covering requirements, diagrams, services, logging, design patterns, and complete code implementation.
Introduction Video
Video - 00:00:55 mins
Use Case Diagram
Video - 00:3:44 mins
Class Diagram
Video - 00:6:07 mins
Class Diagram continued
Video - 00:5:30 mins
Services
Video - 00:9:57 mins
Parking Service
Video - 00:7:59 mins
Discussion on Parking Spots and Parking Service
Video - 00:8:12 mins
Activity Diagram
Video - 00:4:17 mins
Coding Part 1
Video - 00:34:45 mins
How to add Logging in the system
Video - 00:2:20 mins
Coding Part 2 (Adding Logging in the system)
Video - 00:6:04 mins
Implementing Parking pots using Decorator Design pattern
Video - 00:2:34 mins
Coding Part 3
Video - 00:12:11 mins
Requirements
Reading
Identification of actors
Reading
Use case diagram
Reading
Class diagram
Reading
QnA
Reading
Activity Diagram
Reading
Code
Reading
Advanced LLD Case Studies
Social media
Design a Social Media system from requirements to diagrams, code implementation, and interview Q&A.
WhatsApp
Design a WhatsApp-like system from requirements to diagrams, code implementation, and interview Q&A.
Amazon
Design an Amazon-like system from requirements to diagrams, code implementation, and interview Q&A.
PayPal
Design a PayPal-like payment system from requirements to diagrams, code implementation, and interview Q&A.
Assignment
Apply design patterns by implementing the Snakes and Ladders game end-to-end.
High Level System Design
Building Blocks
Learn core HLD concepts like scalability, consistency, caching, databases, real-time systems, and GenAI-enabled APIs.
What is HLD?
Reading
Consistent Hashing
Reading
Caching
Reading
Load Balancing
Reading
CAP Theorem
Reading
Indexes
Reading
Redundancy and Replication
Reading
SQL vs NoSQL
Reading
Data Partitioning
Reading
Long Polling and WebSockets
Reading
Retrieval Augmented Generation (RAG)
Reading
Quorum
Reading
Gen AI-enabled API Systems
Reading
Basic HLD Case Studies
TinyURL
Design a TinyURL system covering requirements, capacity planning, APIs, databases, caching, scaling, and testing.
Introduction
Reading
Requirements & Goals of the System
Reading
Capacity Estimations & Constraints
Reading
System APIs
Reading
Database design & Schema
Reading
High-Level Design
Reading
QnA
Reading
Purging & Db Cleanup
Reading
Database Partitioning & Replication
Reading
Cache & Load Balancing
Reading
Test
Reading
Rate Limiter
Design a Rate Limiter covering requirements, capacity planning, APIs, data storage, caching, scaling, and reliability.
Introduction
Reading
Requirements & Goals of the System
Reading
Capacity Estimations & Constraints
Reading
System APIs
Reading
Database design & Schema
Reading
High Level Design
Reading
QnA
Reading
Purging & Db Cleanup
Reading
Database Partitioning & Replication
Reading
Cache & Load Balancing
Reading
Intermediate HLD Case Studies
Typeahead suggestion (Google queries)
Design a Typeahead system covering requirements, capacity planning, APIs, data storage, caching, scaling, and reliability.
Introduction
Reading
Requirements & Goals of the System
Reading
Capacity Estimations & Constraints
Reading
System APIs
Reading
Database design & Schema
Reading
High Level Design
Reading
QnA
Reading
Purging & Db Cleanup
Reading
Database Partitioning & Replication
Reading
Cache & Load Balancing
Reading
Pastebin
Design a Pastebin-like system covering requirements, capacity planning, APIs, databases, caching, scaling, and reliability.
Introduction
Reading
Requirements & Goals of the System
Reading
Capacity Estimations & Constraints
Reading
System APIs
Reading
Database design & Schema
Reading
High Level Design
Reading
QnA
Reading
Purging & Db Cleanup
Reading
Database Partitioning & Replication
Reading
Cache & Load Balancing
Reading
Advanced HLD Case Studies
DropBox
Design a Dropbox-like system covering requirements, capacity planning, APIs, storage, caching, scaling, and reliability.
Introduction
Reading
Requirements & Goals of the System
Reading
Capacity Estimations & Constraints
Reading
System APIs
Reading
Database design & Schema
Reading
High Level Design
Reading
QnA
Reading
Purging & Db Cleanup
Reading
Database Partitioning & Replication
Reading
Cache & Load Balancing
Reading
Instagram
Design an Instagram-like system covering requirements, capacity planning, APIs, databases, caching, scaling, and reliability.
Introduction
Reading
Requirements & Goals of the System
Reading
Capacity Estimations & Constraints
Reading
System APIs
Reading
Database design & Schema
Reading
High Level Design
Reading
QnA
Reading
Purging & Db Cleanup
Reading
Database Partitioning & Replication
Reading
Cache & Load Balancing
Reading
Messenger
Design a Messenger system covering requirements, capacity planning, APIs, databases, caching, scaling, and reliability.
Introduction
Reading
Requirements & Goals of the System
Reading
Capacity Estimations & Constraints
Reading
System APIs
Reading
Database design & Schema
Reading
High Level Design
Reading
QnA
Reading
Purging & Db Cleanup
Reading
Database Partitioning & Replication
Reading
Cache & Load Balancing
Reading
BookMyShow
Design a BookMyShow-like ticketing system covering requirements, capacity planning, APIs, databases, caching, scaling, and reliability.
Introduction
Reading
Requirements & Goals of the System
Reading
Capacity Estimations & Constraints
Reading
System APIs
Reading
Database design & Schema
Reading
High Level Design
Reading
QnA
Reading
Purging & Db Cleanup
Reading
Database Partitioning & Replication
Reading
Cache & Load Balancing
Reading
Uber/Ola
Design a ride-hailing system covering requirements, capacity planning, APIs, databases, real-time matching, scaling, and reliability.
Introduction
Reading
Requirements & Goals of the System
Reading
Capacity Estimations & Constraints
Reading
System APIs
Reading
Database design & Schema
Reading
High Level Design
Reading
QnA
Reading
Purging & Db Cleanup
Reading
Database Partitioning & Replication
Reading
Cache & Load Balancing
Reading
Newsfeed
Design a Newsfeed system covering requirements, capacity planning, APIs, databases, caching, feed generation, scaling, and reliability.
Introduction
Reading
Requirements & Goals of the System
Reading
Capacity Estimations & Constraints
Reading
System APIs
Reading
Database design & Schema
Reading
High Level Design
Reading
QnA
Reading
Purging & Db Cleanup
Reading
Database Partitioning & Replication
Reading
Cache & Load Balancing
Reading
Youtube/Netflix
Design a video streaming system covering requirements, capacity planning, APIs, storage, caching, scaling, and reliability.
Introduction
Reading
Requirements & Goals of the System
Reading
Capacity Estimations & Constraints
Reading
System APIs
Reading
Database design & Schema
Reading
High Level Design
Reading
QnA
Reading
Purging & Db Cleanup
Reading
Database Partitioning & Replication
Reading
Cache & Load Balancing
Reading
Activity Diagram – Car Parking
The Activity Diagram for the Car Parking System represents the sequential flow of operations that a vehicle goes through when interacting with the system, from entering the parking lot to exiting after payment. It outlines the dynamic behavior of the system and how different actions are coordinated to complete the parking process.
Activity Flow Description
- Vehicle Arrives at Entry Gate
The process begins when a vehicle approaches the entrance of the parking lot. This action triggers the system to start a new parking session.
- Check Slot Availability
The system checks for vacant parking slots using sensors or a central database. If slots are available, the process continues. Otherwise, a message is displayed to the driver indicating that the parking lot is full.
- Generate Parking Ticket
If slots are available, the system generates a parking ticket. This ticket may include the time of entry, slot number, and a unique identifier such as a barcode or QR code.
- Assign Parking Slot
A specific parking slot is assigned to the vehicle. The driver is guided to the slot via digital signage or by an attendant.
- Vehicle is Parked
The driver parks the vehicle in the assigned slot. The slot status is updated to ‘occupied’ in the system.
- Vehicle Arrives at Exit Gate
When the driver returns, the vehicle approaches the exit gate to leave the parking area.
- Scan Ticket / Retrieve Entry Time
The system scans the ticket or retrieves the entry time and details using license plate recognition. It calculates the total time the vehicle was parked.
- Calculate Parking Fee
Based on the parking duration and pricing rules (e.g., hourly rates), the total fee is calculated.
- Payment Processing
The user is prompted to pay the amount using one of the available payment methods (cash, card, digital wallet). Once payment is successful, a receipt is generated.
- Update System and Open Gate
The system updates the parking status, marks the slot as ‘vacant,’ and opens the exit gate to allow the vehicle to leave.
- End of Activity
The process ends when the vehicle exits the parking lot and the transaction is recorded in the system logs for administrative purposes.
Optional Parallel Activities
- Real-time Monitoring: Admin or security personnel can continuously monitor parking slot statuses.
- Reports Generation: Periodic reports about usage patterns, revenue, and slot occupancy can be generated in the background.