System Design: System Design Fundamentals
Master System Design from scratch — system design fundamentals.
What you'll learn
By the end you can confidently apply System Design at a beginner level: system design fundamentals, with real, working code.
Who it's for
Developers learning System Design at a beginner level.
Prerequisites
A year or two of building software.
A structured, hands-on beginner course on System Design, taking you from scratch by building a design doc for a scalable system.
Curriculum
- 1
Defining System Requirements
3 min - 2
High-Level Architecture Diagramming
4 min - 3
Understanding DNS and Domain Resolution
4 min - 4
The Role of the Load Balancer
4 min - 5
Introduction to Client-Server Communication
4 min - 6
Choosing Between RDBMS and NoSQL
4 min - 7
ACID Properties in Relational Databases
4 min - 8
BASE Consistency Model
4 min - 9
Data Modeling for Scalable Systems
4 min - 10
Implementing Schema Migrations
Coming soon - 11
Caching Fundamentals
Coming soon - 12
Redis for Application Caching
Coming soon - 13
Cache Eviction Policies
Coming soon - 14
Measuring System Latency
Coming soon - 15
Cache Invalidation Strategies
Coming soon - 16
Designing RESTful APIs
Coming soon - 17
Synchronous vs Asynchronous Communication
Coming soon - 18
Introduction to Message Brokers
Coming soon - 19
Handling Background Tasks
Coming soon - 20
API Versioning and Documentation
Coming soon - 21
Vertical Scaling Strategies
Coming soon - 22
Horizontal Scaling and Load Distribution
Coming soon - 23
Database Replication
Coming soon - 24
Database Partitioning and Sharding
Coming soon - 25
Designing for Failure
Coming soon - 26
Implementing Circuit Breakers
Coming soon - 27
Idempotency in Distributed Systems
Coming soon - 28
Service Discovery
Coming soon - 29
Multi-node Deployment Planning
Coming soon - 30
Error Handling and Logging Patterns
Coming soon - 31
Securing Communication with HTTPS/TLS
Coming soon - 32
Rate Limiting and Throttling
Coming soon - 33
Authentication and Authorization
Coming soon - 34
Data Sanitization and Validation
Coming soon - 35
Monitoring System Health
Coming soon - 36
Distributed Tracing Basics
Coming soon - 37
Alerting and Incident Response
Coming soon - 38
Production Readiness Checklists
Coming soon - 39
Designing for Disaster Recovery
Coming soon - 40
Writing Post-Mortems
Coming soon - 41
Finalizing the Design Document
Coming soon - 42
End-to-End Prototype Integration
Coming soon - 43
Load Testing Your Prototype
Coming soon - 44
Analyzing Resource Bottlenecks
Coming soon - 45
Database Indexing Strategies
Coming soon - 46
Optimizing Network Communication
Coming soon - 47
Managing Secret Keys and Configuration
Coming soon - 48
Containerization Basics
Coming soon - 49
Introduction to Infrastructure as Code
Coming soon - 50
CI/CD Pipeline Fundamentals
Coming soon - 51
Handling Large Data Imports
Coming soon - 52
Distributed Locking
Coming soon - 53
Event-Driven Architecture
Coming soon