1.
Introduction to the Course
4 Lessons
The chapter outlines the APIs and their significance in software communication, emphasizing product design practices and business considerations.
2.
Network Intricacies
3 Lessons
This chapter teaches network fundamentals, focusing on latency, throughput, and network sockets as the foundation for communication.
3.
Different Ways of Client-Server Communication
5 Lessons
The chapter explores client-server communication methods, including HTTP, RPCs, and WebSockets, to understand how data is transmitted over the web.
4.
Common Data Formats for Web APIs
4 Lessons
The chapter discusses the importance and selection of data formats for effective API communication, covering textual and binary types for optimal performance.
5.
Comparison of API Architectural Styles
7 Lessons
This chapter compares REST, GraphQL, and gRPC, teaching you how to evaluate and choose based on their applications, advantages, and trade-offs.
6.
API Design Security
9 Lessons
This chapter covers API security, including TLS, input validation, CORS, authentication, authorization, and security frameworks.
Introduction to API SecurityTransport Layer Security (TLS)Securing APIs Using Input ValidationCross-Origin Resource Sharing (CORS) in APIsAuthentication and AuthorizationOAuth: The Authorization FrameworkAuthentication and Authorization Frameworks: OpenID and SAMLHigh-Level View of Security in APIsQuiz on API Security7.
Important Concepts in API Design
18 Lessons
The chapter emphasizes key API design concepts including versioning, rate limiting, caching, and monitoring, essential for efficiency and user experience.
API VersioningEvolving an API DesignRate LimitingClient-Adapting APIsData Fetching PatternsEvent-Driven Architecture ProtocolsCookies and SessionsThe Role of Idempotency in API DesignServer-Side Rendering vs. Client-Side RenderingQuiz on Important API Concepts - ISpeeding up Web Page LoadingResource Hints and DebouncingCircuit Breaker PatternManaging RetriesCaching at Different LayersAPI MonitoringQuiz on Important API Concepts - IILet AI Evaluate your Concepts of the API Design8.
Back-of-the-Envelope Calculations for Latency
5 Lessons
This chapter focuses on estimating API response times, processing times, and latency essential for performance evalulation and user satisfaction.
Introduction to Response Time in APIsEstimation of Processing Time of an APIEstimation of Latency of an APIThe Estimation of Response Time of an APIDiscussion on Response Time9.
What Are the Foundational API Designs?
3 Lessons
This chapter introduces the REDCAMEL approach for designing APIs and foundational API designs for reusable functionalities across applications.
The REDCAMEL Approach for Designing APIsConventions for the Design Chapters of the CourseFoundational API Designs10.
Design a Search Service
6 Lessons
This chapter covers the design of a search service, including requirements, design decisions, API models, and latency estimation.
Requirements of the Search APIIntroduction to the Search ServiceSearch API Design DecisionsAPI Model for Search ServiceRefinements in the Search APISearch API Design Evaluation and Latency Budget11.
Design a File Service
4 Lessons
The chapter outlines the design and evaluation of a file service API, focusing on requirements, architecture, and optimization for reliability and performance.
Requirements of the File APIFile API Design DecisionsAPI Model for File ServiceFile API Design Evaluation and Latency Budget12.
Design a Comment Service
5 Lessons
The chapter explores the design elements and requirements for a comment service API, focusing on functionality, architecture, and latency evaluation.
Requirements of the Comment APIComment API Design DecisionsAPI Model for Comment ServiceComment API Design Evaluation and Latency BudgetQuiz on Rating API13.
Design a Pub-Sub Service
5 Lessons
The chapter explores the design and implementation of a pub-sub service, focusing on asynchronous communication, API requirements, and performance evaluation.
Introduction to the Pub-Sub ServiceRequirements of the Pub-Sub APIPub-Sub API Design DecisionsAPI Model for Pub-Sub ServicePub-Sub API Design Evaluation and Latency Budget14.
Concluding Foundational Design Problems
1 Lesson
The chapter delves into advanced API design challenges using API designs like search, pub-sub, file and commenting as foundation.
Advanced API Design Problems15.
YouTube Streaming API Design
6 Lessons
The chapter discusses the comprehensive design of the YouTube Streaming API, focusing on requirements, architecture, and latency management for optimal user experience.
Requirements of the YouTube APIIntroduction to Video StreamingYouTube API Design DecisionsAPI Model for YouTube ServiceYouTube API Design Evaluation and Latency BudgetQuiz on TikTok API Design16.
Facebook Messenger API Design
4 Lessons
This chapter covers Messenger API design, emphasizing efficient messaging, security, and real-time communication.
Requirements of the Messenger APIMessenger API Design DecisionsAPI Model for Messenger ServiceMessenger API Design Evaluation and Latency Budget17.
Google Maps API Design
4 Lessons
The Google Maps API design focusing requirements, architectural design decisions, API endpoint functionalities, and performance evaluation strategies.
Requirements of the Google Maps APIGoogle Maps API Design DecisionsAPI Model for Google Maps ServiceGoogle Maps API Design Evaluation and Latency Budget18.
Learn to Design a Chess API with AI Mentor
1 Lesson
In this chapter, you will interact with our AI mentor for enhanced development feedback to design a Chess API.
Chess API Design AI Mentor (Beta)This chapter teaches video conferencing API design, focusing on requirements, network architecture, real-time communication, and optimal performance strategies.
Requirements of the Zoom APIIntroduction to Video ConferencingZoom API Design DecisionsAPI Model for Zoom ServiceZoom API Design Evaluation and Latency Budget20.
Leetcode API Design
4 Lessons
The chapter discusses the design and functionalities of the LeetCode API, emphasizing service structure, efficiency, and user interaction.
Requirements of the LeetCode APILeetCode API Design DecisionsAPI Model for LeetCode ServiceLeetCode API Design Evaluation and Latency Budget21.
Payment Gateway API Design—Stripe
6 Lessons
This chapter is about Stripe API design teaching payment processing while ensuring security, reliability, and efficient transactions and data management.
Requirements of the Stripe APIWorking of a Payment SystemStripe API Design DecisionsAPI Model for Stripe ServiceStripe Interaction with Cards NetworkStripe API Design Evaluation and Latency Budget22.
Twitter API Design
4 Lessons
The chapter teaches Twitter API design emphasizing user interactions, API model, and efficient performance management.
Requirements of the Twitter APITwitter API Design DecisionsAPI Model for Twitter ServiceTwitter API Design Evaluation and Latency BudgetThe chapter discusses the Uber API's design, covering key API architectural decisions and evaluations to ensure efficiency and security.
Requirements of the Uber APIUber API Design DecisionsAPI Model for Uber ServiceUber API Design Evaluation and Latency Budget24.
CamelCamelCamel API Design
5 Lessons
This chapter explores how CamelCamelCamel API is designed to track Amazon product price drops focusing a robust API design using REST API.
Requirements of the CamelCamelCamel APICamelCamelCamel API Design DecisionsAPI Model for CamelCamelCamel ServiceCamelCamelCamel's Communication with the Amazon ServiceCamelCamelCamel API Design Evaluation and Latency Budget25.
Gaming API Design
5 Lessons
The chapter explores the complexities of gaming API design, focusing on optimal performance using event-driven architecture and JSON data format.
Requirements of the Gaming APIIntroduction to the Gaming EcosystemGaming API Design DecisionsAPI Model for Gaming ServiceGaming API Design Evaluation and Latency Budget26.
API Failures and Mitigations
4 Lessons
This chapter covers causes of API failures discussing notable incidents and robust mitigation strategies to enhance reliability and prevent disruptions.
What Causes API FailuresKnight Capital Failure Due to Development BugAmazon S3 Service DisruptionFacebook and Uber APIs FailureThis chapter wraps up the course discussing API design key takeaways, strategies for implementation and testing, and the next step for API design mastery.
What’s Next?Conclusion