All Courses
beginner Architecture

System Design: System Design Fundamentals

Master System Design from scratch — system design fundamentals.

53 lessons 53 available ~207 min total
Start the course

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. 1

    Defining System Requirements

    3 min
  2. 2

    High-Level Architecture Diagramming

    4 min
  3. 3

    Understanding DNS and Domain Resolution

    4 min
  4. 4

    The Role of the Load Balancer

    4 min
  5. 5

    Introduction to Client-Server Communication

    4 min
  6. 6

    Choosing Between RDBMS and NoSQL

    4 min
  7. 7

    ACID Properties in Relational Databases

    4 min
  8. 8

    BASE Consistency Model

    4 min
  9. 9

    Data Modeling for Scalable Systems

    4 min
  10. 10

    Implementing Schema Migrations

    4 min
  11. 11

    Caching Fundamentals

    4 min
  12. 12

    Redis for Application Caching

    4 min
  13. 13

    Cache Eviction Policies

    3 min
  14. 14

    Measuring System Latency

    4 min
  15. 15

    Cache Invalidation Strategies

    4 min
  16. 16

    Designing RESTful APIs

    4 min
  17. 17

    Synchronous vs Asynchronous Communication

    4 min
  18. 18

    Introduction to Message Brokers

    4 min
  19. 19

    Handling Background Tasks

    4 min
  20. 20

    API Versioning and Documentation

    4 min
  21. 21

    Vertical Scaling Strategies

    4 min
  22. 22

    Horizontal Scaling and Load Distribution

    4 min
  23. 23

    Database Replication

    4 min
  24. 24

    Database Partitioning and Sharding

    4 min
  25. 25

    Designing for Failure

    4 min
  26. 26

    Implementing Circuit Breakers

    4 min
  27. 27

    Idempotency in Distributed Systems

    4 min
  28. 28

    Service Discovery

    3 min
  29. 29

    Multi-node Deployment Planning

    4 min
  30. 30

    Error Handling and Logging Patterns

    4 min
  31. 31

    Securing Communication with HTTPS/TLS

    4 min
  32. 32

    Rate Limiting and Throttling

    4 min
  33. 33

    Authentication and Authorization

    4 min
  34. 34

    Data Sanitization and Validation

    4 min
  35. 35

    Monitoring System Health

    4 min
  36. 36

    Distributed Tracing Basics

    4 min
  37. 37

    Alerting and Incident Response

    4 min
  38. 38

    Production Readiness Checklists

    4 min
  39. 39

    Designing for Disaster Recovery

    4 min
  40. 40

    Writing Post-Mortems

    4 min
  41. 41

    Finalizing the Design Document

    4 min
  42. 42

    End-to-End Prototype Integration

    4 min
  43. 43

    Load Testing Your Prototype

    4 min
  44. 44

    Analyzing Resource Bottlenecks

    3 min
  45. 45

    Database Indexing Strategies

    4 min
  46. 46

    Optimizing Network Communication

    4 min
  47. 47

    Managing Secret Keys and Configuration

    4 min
  48. 48

    Containerization Basics

    4 min
  49. 49

    Introduction to Infrastructure as Code

    4 min
  50. 50

    CI/CD Pipeline Fundamentals

    4 min
  51. 51

    Handling Large Data Imports

    3 min
  52. 52

    Distributed Locking

    4 min
  53. 53

    Event-Driven Architecture

    4 min