All Courses
beginner Architecture

System Design: System Design Fundamentals

Master System Design from scratch — system design fundamentals.

53 lessons 9 available ~35 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

    Coming soon
  11. 11

    Caching Fundamentals

    Coming soon
  12. 12

    Redis for Application Caching

    Coming soon
  13. 13

    Cache Eviction Policies

    Coming soon
  14. 14

    Measuring System Latency

    Coming soon
  15. 15

    Cache Invalidation Strategies

    Coming soon
  16. 16

    Designing RESTful APIs

    Coming soon
  17. 17

    Synchronous vs Asynchronous Communication

    Coming soon
  18. 18

    Introduction to Message Brokers

    Coming soon
  19. 19

    Handling Background Tasks

    Coming soon
  20. 20

    API Versioning and Documentation

    Coming soon
  21. 21

    Vertical Scaling Strategies

    Coming soon
  22. 22

    Horizontal Scaling and Load Distribution

    Coming soon
  23. 23

    Database Replication

    Coming soon
  24. 24

    Database Partitioning and Sharding

    Coming soon
  25. 25

    Designing for Failure

    Coming soon
  26. 26

    Implementing Circuit Breakers

    Coming soon
  27. 27

    Idempotency in Distributed Systems

    Coming soon
  28. 28

    Service Discovery

    Coming soon
  29. 29

    Multi-node Deployment Planning

    Coming soon
  30. 30

    Error Handling and Logging Patterns

    Coming soon
  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