freeCodeCamp.org
This course is a detailed introduction to system design for software developers and engineers.
Building large-scale distributed systems like Google, Facebook, Amazon, and Twitter requires an in-depth understanding of computer science principles. This allows systems to handle millions of users concurrently despite hardware failures.
We discuss the fundamental concepts of system design in this course like requirement selection, API design, Database Design, Network protocols, Fault-tolerance, design trade-offs, solution tradeoffs, and low-level design.
Gaurav Sen created this course. Check out his channel: @gkcs
You can learn about distributed systems and system design using the following resources:
Designing Data-Intensive Applications by Martin Kleppmann: https://amzn.to/3SyNAOy
System Design Simplified: https://interviewready.io
Let us know your thoughts and suggestions in the comments!
⭐️ Contents ⭐️
⌨️ (0:00:00) What is System Design
⌨️ (0:02:27) Design Patterns
⌨️ (0:04:07) Live Streaming System Design
⌨️ (0:07:42) Fault Tolerance
⌨️ (0:08:32) Extensibility
⌨️ (0:09:49) Testing
⌨️ (0:10:32) Summarizing the requirements
⌨️ (0:11:27) Core requirement – Streaming video
⌨️ (0:14:52) Diagramming the approaches
⌨️ (0:17:12) API Design
⌨️ (0:20:02) Database Design
⌨️ (0:22:32) Network Protocols
⌨️ (0:29:07) Choosing a Datastore
⌨️ (0:32:57) Uploading Raw Video Footage
⌨️ (0:34:37) Map Reduce for Video Transformation
⌨️ (0:39:24) WebRTC vs. MPEG DASH vs. HLS
⌨️ (0:41:55) Content Delivery Networks
⌨️ (0:42:27) High-Level Summary
⌨️ (0:44:48) Introduction to Low-Level Design
⌨️ (0:47:00) Video Player Design
⌨️ (0:49:17) Engineering requirements
⌨️ (0:50:32) Use case UML diagram
⌨️ (1:02:32) Class UML Diagram
⌨️ (1:06:27) Sequence UML Diagram
⌨️ (1:11:49) Coding the Server
⌨️ (1:24:23) Resources for System Design
🎉 Thanks to our Champion and Sponsor supporters:
👾 Nattira Maneerat
👾 Heather Wcislo
👾 Serhiy Kalinets
👾 Erdeniz Unvan
👾 Justin Hual
👾 Agustín Kussrow
👾 Otis Morgan
—
Learn to code for free and get a developer job: https://www.freecodecamp.org
Read hundreds of articles on programming: https://freecodecamp.org/news
❤️ Support for this channel comes from our friends at Scrimba – the coding platform that’s reinvented interactive learning: https://scrimba.com/freecodecamp
Source
freecodecamp pls bring a full system design like that 0 hr one coveringg lld and hld and bring system design for ml also pls pls
Crystal clear explaination ! Loved this content do more videos like these
I have some confusion in the code at "1 hour 18 minute" minutes in the getFrame method. How can a frame have 10 seconds of information? Each second, a video generally shows 30 frames. So, how 1 frame can contain 10 seconds?
Bro how many adds you attach in the videos 🐙🐙
Notes:
1. What are data definitions ? @ 6:30
UML is such s**t
Worth 1.5 hours. But not as good as I was expecting.
This was unbelievably well done!
This video deserves a global holiday in its honor.
Is he using APIs and endpoints interchangeably?
This video goes straight to my favorites!
After we compress, format or process it for various types do we again store it back to database ?
Super
Great video! You highlighted key points that no one else mentioned. Thank you!
so this is only hld and lld? where is remaining part?
shouldnt we check frames[i].timestamp == timestamp and not <=?
8:30
27:48
45:47
I recently analyzed your channel’s ranking signals and found optimization opportunities that could strengthen performance. I’ve structured the insights into a clear action-oriented report. Shall I send it?
B
28:58
'This AI bot trades for you' ads had me losing faith in the internet. Blockify restored it.
⁰😊