|
Intro
|
|
|
|
Course Intro
2:00
|
|
|
|
Resources
|
|
|
Introduction to APIs
|
|
|
|
1.0 - Introduction to APIs
3:00
|
|
|
|
1.1 - Understanding APIs
13:00
|
|
|
|
1.2 - Types of APIs
15:00
|
|
|
|
1.3 - API Protocols
12:00
|
|
|
|
1.4 - Working of API
18:00
|
|
|
|
1.5 - API Components
18:00
|
|
|
|
1.6 - API Lifecycle
16:00
|
|
|
|
1.7 - API Authentication & Authorization
9:00
|
|
|
Introduction to FastAPI
|
|
|
|
2.0 - Introduction to FastAPI
1:00
|
|
|
|
2.1 - About FastAPI
4:00
|
|
|
|
2.2 - Key Features of FastAPI
12:00
|
|
|
|
2.3 - Architecture of FastAPI
15:00
|
|
|
|
2.4 - Installing FastAPI
4:00
|
|
|
|
2.5 - First App using FastAPI
11:00
|
|
|
|
2.6 - Comparative Analysis
6:00
|
|
|
Building APIs using FastAPI
|
|
|
|
3 - Building APIs using FastAPI
2:00
|
|
|
|
3.1 - Creating APIs
21:00
|
|
|
|
3.2 - CRUD Operations
|
|
|
|
3.3 - Handling Validations and Errors
|
|
|
|
3.4 - Asynchronous Programming
|
|
|
Database Integration
|
|
|
|
4 - Database Integration
1:00
|
|
|
|
4.1 - Database Basics
9:00
|
|
|
|
4.2 - SQLAlchemy Basics
13:00
|
|
|
|
4.3 - CRUD App Project Structure
6:00
|
|
|
|
4.3.1 - database.py
11:00
|
|
|
|
4.3.2 - models.py
8:00
|
|
|
|
4.3.3 - schemas.py
14:00
|
|
|
|
4.3.4 - crud.py
24:00
|
|
|
|
4.3.5 - main.py
39:00
|
|
|
Machine Learning Integration
|
|
|
|
5 - Machine Learning Integration
1:00
|
|
|
|
5.1 - Model Serialization
15:00
|
|
|
|
5.2 - Serialization with Pickle and Joblib
17:00
|
|
|
|
5.3 - Serialization with Keras
19:00
|
|
|
|
5.4 - Pickle vs Joblib
6:00
|
|
|
|
5.5 - Input and Output Schemas (theory)
9:00
|
|
|
|
5.6 - Input and Output Schemas (schemas.py)
13:00
|
|
|
|
5.7 - Serving ML Models (theory)
6:00
|
|
|
|
5.8 - Serving ML Models (train.py)
10:00
|
|
|
|
5.9 - Serving ML Models (predict.py)
12:00
|
|
|
|
5.10 - Serving ML Models (main.py)
12:00
|
|
|
|
5.11 - Handling Batch Predictions
19:00
|
|
|
Advanced FastAPI Concepts
|
|
|
|
6 - Advanced FastAPI Concepts
1:00
|
|
|
|
6.1 - Middlewares
9:00
|
|
|
|
6.2 - Built-in Middlewares
16:00
|
|
|
|
6.3 - Custom Middlewares
19:00
|
|
|
|
6.4 - Dependency Injection
8:00
|
|
|
|
6.4.1 - Database Connections
7:00
|
|
|
|
6.4.2 - Configuration Management
10:00
|
|
|
|
6.4.3 - User Authentication
25:00
|
|
|
|
6.5 - JWT Authentication
6:00
|
|
|
|
6.5.1 - auth.py
15:00
|
|
|
|
6.5.2 - models.py
5:00
|
|
|
|
6.5.3 - utils.py
9:00
|
|
|
|
6.5.4 - main.py
16:00
|
|
|
|
6.5.5 - Workflow
9:00
|
|
|
|
6.6 - Managing API Keys
5:00
|
|
|
|
6.6.1 - API Keys with Headers
10:00
|
|
|
|
6.6.2 - API Keys with .env file
11:00
|
|
|
|
6.7 - Best Practices
6:00
|
|
|
Testing and Debugging
|
|
|
|
7 - Testing and Debugging
1:00
|
|
|
|
7.1 - Importance of Testing APIs
6:00
|
|
|
|
7.2 - Types of Tests
1:00
|
|
|
|
7.2.1 - Unit Tests (theory)
2:00
|
|
|
|
7.2.2 - Unit Tests (code)
19:00
|
|
|
|
7.2.3 - Integration Testing
24:00
|
|
|
|
7.2.4 - End-to-End Testing
24:00
|
|
|
|
7.3 - Mock ML Models
9:00
|
|
|
|
7.3.1 - Mock ML Demo
43:00
|
|
|
|
7.4 - Common API Errors
14:00
|
|
|
|
7.5 - Debugging Techniques
1:00
|
|
|
|
7.5.1 - Logging
18:00
|
|
|
|
7.5.2 - Exception Handling
9:00
|
|
|
|
7.5.3 - CURL & Configurations
6:00
|
|
|
|
7.5.4 - Summary
4:00
|
|
|
Performance Optimization and Monitoring
|
|
|
|
8.1 - Caching & its Importance
8:00
|
|
|
|
8.1.1 - Caching Use Cases
4:00
|
|
|
|
8.1.2 - Types of Caching
11:00
|
|
|
|
8.1.3 - Key Considerations for Caching
5:00
|
|
|
|
8.1.4 - Common Tools for Caching
2:00
|
|
|
|
8.2 - Caching with Redis
7:00
|
|
|
|
8.2.1 - Redis Data Structures
4:00
|
|
|
|
8.2.2 - Redis Use Cases
3:00
|
|
|
|
8.2.3 - Redis Setup
16:00
|
|
|
|
8.3 - Redis with FastAPI
1:00
|
|
|
|
8.3.1 - Caching ML Predictions
25:00
|
|
|
|
8.3.2 - Caching DB Queries
29:00
|
|
|
|
8.3.3 - Caching External API Call
23:00
|
|
|
|
8.4 - Profiling FastAPI Apps
9:00
|
|
|
|
8.4.1 - Profiling with TIME
15:00
|
|
|
|
8.4.2 - Profiling with cProfile
24:00
|
|
|
|
8.4.3 - Profiling with line-profiler
21:00
|
|
|
|
8.5 - Benchmarking APIs
2:00
|
|
|
|
8.5.1 - Advantages of Benchmarking
6:00
|
|
|
|
8.5.2 - Metrics for Benchmarking
9:00
|
|
|
|
8.5.3 - Tools for Benchmarking
5:00
|
|
|
|
8.5.4 - Locust Demo
23:00
|
|
|
|
8.5.5 - Benchmarking Best Practices
4:00
|
|
|
|
8.6 - Monitoring APIs
8:00
|
|
|
|
8.6.1 - Prometheus
10:00
|
|
|
|
8.6.2 - Prometheus with FastAPI
17:00
|
|
|
|
8.6.3 - FastAPI with Prometheus & Docker
35:00
|
|
|
|
8.6.4 - Grafana
14:00
|
|
|
|
8.6.5 - FastAPI with Grafana, Prometheus & Docker
28:00
|
|
|
Capstone Project
|
|
|
|
9.1 - Project File Structure
18:00
|
|
|
|
9.2 - Project Setup with GitHub
15:00
|
|
|
|
9.3 - Configurations and Security
25:00
|
|
|
|
9.4 - Auth & Dependencies
24:00
|
|
|
|
9.5.1 - ML Integration with Caching pt1
37:00
|
|
|
|
9.5.2 - ML Integration with Caching pt2
16:00
|
|
|
|
9.5.3 - ML Integration with Caching pt3
19:00
|
|
|
|
9.6 - Middlewares and API
16:00
|
|
|
|
9.7 - Monitoring & Containerization
9:00
|
|
|
|
9.8 - Running the Project Locally
17:00
|
|
|
|
9.9 - Project Deployment over Render using Redis
16:00
|
|
|
|
9.10 - Important Note for Deployment
4:00
|
|