# chaithumoorpa/low-level-design architecture

> Architecture diagram of the GitHub repository chaithumoorpa/low-level-design, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/chaithumoorpa/low-level-design
- Repository: https://github.com/chaithumoorpa/low-level-design

## Overview

This repository is an interview-practice collection of self-contained Java low-level-design examples, not one integrated runtime application. The documented learner workflow is to study a problem’s design and run its console demo. The graph groups representative examples by domain; the tree lists many more projects than the sampled source excerpts, so unsampled implementations are represented only by their existing paths and documented problem names.

Main entry points: [`Booking-and-Reservation/FoodDelivery/src/main/java/com/lld/booking/food/service/FoodDeliveryService.java`](https://github.com/chaithumoorpa/low-level-design/blob/main/Booking-and-Reservation/FoodDelivery/src/main/java/com/lld/booking/food/service/FoodDeliveryService.java) (Food Delivery), [`Booking-and-Reservation/MovieBooking/src/main/java/com/lld/booking/movie/service/BookingService.java`](https://github.com/chaithumoorpa/low-level-design/blob/main/Booking-and-Reservation/MovieBooking/src/main/java/com/lld/booking/movie/service/BookingService.java) (Movie Booking), [`Booking-and-Reservation/RideSharing/src/main/java/com/lld/booking/ride/service/RideService.java`](https://github.com/chaithumoorpa/low-level-design/blob/main/Booking-and-Reservation/RideSharing/src/main/java/com/lld/booking/ride/service/RideService.java) (Ride Sharing), [`Communications-and-Messaging/ChatApplication/src/main/java/com/lld/messaging/chat/server/ChatServer.java`](https://github.com/chaithumoorpa/low-level-design/blob/main/Communications-and-Messaging/ChatApplication/src/main/java/com/lld/messaging/chat/server/ChatServer.java) (Chat Application)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_booking["Booking Systems"]
  node_food["Food Delivery"]
  node_movie["Movie Booking"]
  node_rides["Ride Sharing<br/>[RideService.java]"]
end

subgraph group_messaging["Messaging Systems"]
  node_chat["Chat Application<br/>[ChatServer.java]"]
  node_notifications["Notification System"]
  node_pubsub["Pub-Sub System<br/>[Broker.java]"]
end

subgraph group_data["Data Structures"]
  node_autocomplete["Search Autocomplete"]
  node_ratelimiter["Rate Limiter"]
  node_caches["LRU and LFU<br/>[LRUCache.java]"]
  node_bloom["Bloom Filter<br/>[BloomFilter.java]"]
end

subgraph group_finance["Finance Systems"]
  node_splitwise["Expense Sharing"]
  node_payments["Payment Gateway"]
  node_exchange["Stock Exchange<br/>[Exchange.java]"]
end

subgraph group_management["Management Systems"]
  node_tasks["Task Management<br/>[TaskService.java]"]
  node_inventory["Inventory Management"]
  node_library["Library Management"]
end

node_learner(("Learner"))
node_qa["Question and Answer<br/>[QaService.java]"]
node_chess["Chess<br/>[Game.java]"]
node_minesweeper["Minesweeper<br/>[Game.java]"]

node_learner -->|"studies or runs"| node_food
node_learner -->|"studies or runs"| node_movie
node_learner -->|"studies or runs"| node_rides
node_learner -->|"studies or runs"| node_chat
node_learner -->|"studies or runs"| node_notifications
node_learner -->|"studies or runs"| node_pubsub
node_learner -->|"studies or runs"| node_autocomplete
node_learner -->|"studies or runs"| node_ratelimiter
node_learner -->|"studies or runs"| node_caches
node_learner -->|"studies or runs"| node_bloom
node_learner -->|"studies or runs"| node_splitwise
node_learner -->|"studies or runs"| node_payments
node_learner -->|"studies or runs"| node_exchange
node_learner -->|"studies or runs"| node_tasks
node_learner -->|"studies or runs"| node_inventory
node_learner -->|"studies or runs"| node_library
node_learner -->|"studies or runs"| node_qa
node_learner -->|"studies or runs"| node_chess
node_learner -->|"studies or runs"| node_minesweeper

click node_food "https://github.com/chaithumoorpa/low-level-design/blob/main/Booking-and-Reservation/FoodDelivery/src/main/java/com/lld/booking/food/service/FoodDeliveryService.java"
click node_movie "https://github.com/chaithumoorpa/low-level-design/blob/main/Booking-and-Reservation/MovieBooking/src/main/java/com/lld/booking/movie/service/BookingService.java"
click node_rides "https://github.com/chaithumoorpa/low-level-design/blob/main/Booking-and-Reservation/RideSharing/src/main/java/com/lld/booking/ride/service/RideService.java"
click node_chat "https://github.com/chaithumoorpa/low-level-design/blob/main/Communications-and-Messaging/ChatApplication/src/main/java/com/lld/messaging/chat/server/ChatServer.java"
click node_notifications "https://github.com/chaithumoorpa/low-level-design/blob/main/Communications-and-Messaging/NotificationSystem/src/main/java/com/lld/messaging/notification/core/NotificationService.java"
click node_pubsub "https://github.com/chaithumoorpa/low-level-design/blob/main/Communications-and-Messaging/PubSub/src/main/java/com/lld/messaging/pubsub/broker/Broker.java"
click node_autocomplete "https://github.com/chaithumoorpa/low-level-design/blob/main/Data-Structures-and-Search/SearchAutocomplete/src/main/java/com/lld/ds/autocomplete/engine/AutocompleteEngine.java"
click node_ratelimiter "https://github.com/chaithumoorpa/low-level-design/blob/main/Data-Structures-and-Search/RateLimiter/src/main/java/com/lld/ds/ratelimiter/service/RateLimiterService.java"
click node_caches "https://github.com/chaithumoorpa/low-level-design/blob/main/Data-Structures-and-Search/LRUCache/src/main/java/com/lld/ds/lrucache/lru/LRUCache.java"
click node_bloom "https://github.com/chaithumoorpa/low-level-design/blob/main/Data-Structures-and-Search/BloomFilter/src/main/java/com/lld/ds/bloomfilter/filter/BloomFilter.java"
click node_splitwise "https://github.com/chaithumoorpa/low-level-design/blob/main/Finance-and-Payment/Splitwise/src/main/java/com/lld/finance/splitwise/service/SplitwiseService.java"
click node_payments "https://github.com/chaithumoorpa/low-level-design/blob/main/Finance-and-Payment/PaymentGateway/src/main/java/com/lld/finance/payments/core/PaymentGateway.java"
click node_exchange "https://github.com/chaithumoorpa/low-level-design/blob/main/Finance-and-Payment/StockExchange/src/main/java/com/lld/finance/exchange/core/Exchange.java"
click node_tasks "https://github.com/chaithumoorpa/low-level-design/blob/main/Management-Systems/TaskManagementSystem/src/main/java/com/lld/management/tasks/core/TaskService.java"
click node_inventory "https://github.com/chaithumoorpa/low-level-design/blob/main/Management-Systems/InventoryManagementSystem/src/main/java/com/lld/management/inventory/core/InventoryService.java"
click node_library "https://github.com/chaithumoorpa/low-level-design/blob/main/Management-Systems/LibraryManagementSystem/src/main/java/com/lld/management/library/core/LibraryService.java"
click node_qa "https://github.com/chaithumoorpa/low-level-design/blob/main/Social-and-Content-Platform/StackOverflow/src/main/java/com/lld/social/qa/service/QaService.java"
click node_chess "https://github.com/chaithumoorpa/low-level-design/blob/main/Games-and-Puzzles/Chess/src/main/java/com/lld/games/chess/game/Game.java"
click node_minesweeper "https://github.com/chaithumoorpa/low-level-design/blob/main/Games-and-Puzzles/Minesweeper/src/main/java/com/lld/games/minesweeper/game/Game.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_food,node_movie,node_rides toneBlue
class node_chat,node_notifications,node_pubsub toneAmber
class node_autocomplete,node_ratelimiter,node_caches,node_bloom toneMint
class node_splitwise,node_payments,node_exchange toneRose
class node_tasks,node_inventory,node_library,node_learner toneIndigo
class node_qa,node_chess,node_minesweeper toneTeal
```

## Components

### Booking Systems

- [Food Delivery](https://github.com/chaithumoorpa/low-level-design/blob/main/Booking-and-Reservation/FoodDelivery/src/main/java/com/lld/booking/food/service/FoodDeliveryService.java): `Booking-and-Reservation/FoodDelivery/src/main/java/com/lld/booking/food/service/FoodDeliveryService.java`
- [Movie Booking](https://github.com/chaithumoorpa/low-level-design/blob/main/Booking-and-Reservation/MovieBooking/src/main/java/com/lld/booking/movie/service/BookingService.java): `Booking-and-Reservation/MovieBooking/src/main/java/com/lld/booking/movie/service/BookingService.java`
- [Ride Sharing](https://github.com/chaithumoorpa/low-level-design/blob/main/Booking-and-Reservation/RideSharing/src/main/java/com/lld/booking/ride/service/RideService.java): `Booking-and-Reservation/RideSharing/src/main/java/com/lld/booking/ride/service/RideService.java`

### Messaging Systems

- [Chat Application](https://github.com/chaithumoorpa/low-level-design/blob/main/Communications-and-Messaging/ChatApplication/src/main/java/com/lld/messaging/chat/server/ChatServer.java): `Communications-and-Messaging/ChatApplication/src/main/java/com/lld/messaging/chat/server/ChatServer.java`
- [Notification System](https://github.com/chaithumoorpa/low-level-design/blob/main/Communications-and-Messaging/NotificationSystem/src/main/java/com/lld/messaging/notification/core/NotificationService.java): `Communications-and-Messaging/NotificationSystem/src/main/java/com/lld/messaging/notification/core/NotificationService.java`
- [Pub-Sub System](https://github.com/chaithumoorpa/low-level-design/blob/main/Communications-and-Messaging/PubSub/src/main/java/com/lld/messaging/pubsub/broker/Broker.java): `Communications-and-Messaging/PubSub/src/main/java/com/lld/messaging/pubsub/broker/Broker.java`

### Data Structures

- [Search Autocomplete](https://github.com/chaithumoorpa/low-level-design/blob/main/Data-Structures-and-Search/SearchAutocomplete/src/main/java/com/lld/ds/autocomplete/engine/AutocompleteEngine.java): `Data-Structures-and-Search/SearchAutocomplete/src/main/java/com/lld/ds/autocomplete/engine/AutocompleteEngine.java`
- [Rate Limiter](https://github.com/chaithumoorpa/low-level-design/blob/main/Data-Structures-and-Search/RateLimiter/src/main/java/com/lld/ds/ratelimiter/service/RateLimiterService.java): `Data-Structures-and-Search/RateLimiter/src/main/java/com/lld/ds/ratelimiter/service/RateLimiterService.java`
- [LRU and LFU](https://github.com/chaithumoorpa/low-level-design/blob/main/Data-Structures-and-Search/LRUCache/src/main/java/com/lld/ds/lrucache/lru/LRUCache.java): `Data-Structures-and-Search/LRUCache/src/main/java/com/lld/ds/lrucache/lru/LRUCache.java`
- [Bloom Filter](https://github.com/chaithumoorpa/low-level-design/blob/main/Data-Structures-and-Search/BloomFilter/src/main/java/com/lld/ds/bloomfilter/filter/BloomFilter.java): `Data-Structures-and-Search/BloomFilter/src/main/java/com/lld/ds/bloomfilter/filter/BloomFilter.java`

### Finance Systems

- [Expense Sharing](https://github.com/chaithumoorpa/low-level-design/blob/main/Finance-and-Payment/Splitwise/src/main/java/com/lld/finance/splitwise/service/SplitwiseService.java): `Finance-and-Payment/Splitwise/src/main/java/com/lld/finance/splitwise/service/SplitwiseService.java`
- [Payment Gateway](https://github.com/chaithumoorpa/low-level-design/blob/main/Finance-and-Payment/PaymentGateway/src/main/java/com/lld/finance/payments/core/PaymentGateway.java): `Finance-and-Payment/PaymentGateway/src/main/java/com/lld/finance/payments/core/PaymentGateway.java`
- [Stock Exchange](https://github.com/chaithumoorpa/low-level-design/blob/main/Finance-and-Payment/StockExchange/src/main/java/com/lld/finance/exchange/core/Exchange.java): `Finance-and-Payment/StockExchange/src/main/java/com/lld/finance/exchange/core/Exchange.java`

### Management Systems

- [Task Management](https://github.com/chaithumoorpa/low-level-design/blob/main/Management-Systems/TaskManagementSystem/src/main/java/com/lld/management/tasks/core/TaskService.java): `Management-Systems/TaskManagementSystem/src/main/java/com/lld/management/tasks/core/TaskService.java`
- [Inventory Management](https://github.com/chaithumoorpa/low-level-design/blob/main/Management-Systems/InventoryManagementSystem/src/main/java/com/lld/management/inventory/core/InventoryService.java): `Management-Systems/InventoryManagementSystem/src/main/java/com/lld/management/inventory/core/InventoryService.java`
- [Library Management](https://github.com/chaithumoorpa/low-level-design/blob/main/Management-Systems/LibraryManagementSystem/src/main/java/com/lld/management/library/core/LibraryService.java): `Management-Systems/LibraryManagementSystem/src/main/java/com/lld/management/library/core/LibraryService.java`

### Other components

- **Learner**
- [Question and Answer](https://github.com/chaithumoorpa/low-level-design/blob/main/Social-and-Content-Platform/StackOverflow/src/main/java/com/lld/social/qa/service/QaService.java): `Social-and-Content-Platform/StackOverflow/src/main/java/com/lld/social/qa/service/QaService.java`
- [Chess](https://github.com/chaithumoorpa/low-level-design/blob/main/Games-and-Puzzles/Chess/src/main/java/com/lld/games/chess/game/Game.java): `Games-and-Puzzles/Chess/src/main/java/com/lld/games/chess/game/Game.java`
- [Minesweeper](https://github.com/chaithumoorpa/low-level-design/blob/main/Games-and-Puzzles/Minesweeper/src/main/java/com/lld/games/minesweeper/game/Game.java): `Games-and-Puzzles/Minesweeper/src/main/java/com/lld/games/minesweeper/game/Game.java`

## Connections

- Learner → Food Delivery: studies or runs
- Learner → Movie Booking: studies or runs
- Learner → Ride Sharing: studies or runs
- Learner → Chat Application: studies or runs
- Learner → Notification System: studies or runs
- Learner → Pub-Sub System: studies or runs
- Learner → Search Autocomplete: studies or runs
- Learner → Rate Limiter: studies or runs
- Learner → LRU and LFU: studies or runs
- Learner → Bloom Filter: studies or runs
- Learner → Expense Sharing: studies or runs
- Learner → Payment Gateway: studies or runs
- Learner → Stock Exchange: studies or runs
- Learner → Task Management: studies or runs
- Learner → Inventory Management: studies or runs
- Learner → Library Management: studies or runs
- Learner → Question and Answer: studies or runs
- Learner → Chess: studies or runs
- Learner → Minesweeper: studies or runs
