The repository contains detailed conceptual as well as practical implimentaion of system design including when to use which one. The further details are as follows:
-
- Scaling (Horizontal and Vertical)
- Proxies (Load Balancers, API Gateways, Reverse Proxies)
- Database Data Structure (B-Tree, LSM Tree)
- Database Replication (Change Data Capture, Replication Lag, Sync vs Async Replication)
- Fundamental Database Concept (CAP Theorem, ACID)
- Database System (Relation, Non Relation, Blob)
- Database for analytics and product decisions (Data Warehouse, Data Lakes)
- Caching (Server Caching, Client Caching, Distributed Caching)
- Architecture Patterns (API design, Microservices, Message Queues, Pub Sub Model, Event Driven System, Batch Processing, Stream Processing, Data Pipeline)
- System Health (Monitoring, Alerting, Metrics)
-
- Rate Limiter
- URL Shortner
- Notification System
- News Feed (Instagram, Twitter)
- Payment System (Paypal, Stripe)
- Ecommerce Application (Amazon, Flipkart)
- Realtime Game Leaderboard
- Stock Exchange (Robinhood)
- Hotel Reservation System (Expedia, Kayak)
- Ads Click System (Google Ads)
- Localtion Service (Google Map)
- Email Service (Gmail, Yahoo)
- Chat System (Whatsapp, Facebook Messenger)
- Video Application (Youtube)
- Autocomplete System (Google Search)
The directory contains readme.md file which contains the detailed explanation of the system design concepts and practical implimentation along with the necassary resources and references.