All Courses
beginner Architecture

System Design: System Design Fundamentals

Master System Design from scratch — system design fundamentals.

53 lessons 30 available ~117 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

    Coming soon
  32. 32

    Rate Limiting and Throttling

    Coming soon
  33. 33

    Authentication and Authorization

    Coming soon
  34. 34

    Data Sanitization and Validation

    Coming soon
  35. 35

    Monitoring System Health

    Coming soon
  36. 36

    Distributed Tracing Basics

    Coming soon
  37. 37

    Alerting and Incident Response

    Coming soon
  38. 38

    Production Readiness Checklists

    Coming soon
  39. 39

    Designing for Disaster Recovery

    Coming soon
  40. 40

    Writing Post-Mortems

    Coming soon
  41. 41

    Finalizing the Design Document

    Coming soon
  42. 42

    End-to-End Prototype Integration

    Coming soon
  43. 43

    Load Testing Your Prototype

    Coming soon
  44. 44

    Analyzing Resource Bottlenecks

    Coming soon
  45. 45

    Database Indexing Strategies

    Coming soon
  46. 46

    Optimizing Network Communication

    Coming soon
  47. 47

    Managing Secret Keys and Configuration

    Coming soon
  48. 48

    Containerization Basics

    Coming soon
  49. 49

    Introduction to Infrastructure as Code

    Coming soon
  50. 50

    CI/CD Pipeline Fundamentals

    Coming soon
  51. 51

    Handling Large Data Imports

    Coming soon
  52. 52

    Distributed Locking

    Coming soon
  53. 53

    Event-Driven Architecture

    Coming soon