Video Membership
- Creating Users (with custom fields) from scratch
- Saving Secure, Hashed, Passwords
- Authentication
- Video Analytics
- And much more
References:
Lessons
Welcome
5:27
Requirements
1:22
Setup VSCode & Python Virtual Environment
5:20
Hello World with FastAPI
6:43
Picking a Database
5:57
Create our NoSQL Database with AstraDB
2:49
Basic AstraDB Configuration for FastAPI
8:04
Configuration & Environment Variables
7:34
Create our User model with Python & Cassandra
7:37
Sync Cassandra Tabels via FastAPI On Startup
7:30
Create a user via shell
3:22
List Stored Values on API Endpoint
3:09
User Create Method & Email Validation
7:54
Security & Password Hashing
9:31
Interactive Notebook to Analyze New Features
9:31
Automated Tests
18:04
Jinja Templates to Render HTML
9:34
Jinja Template Inheritance & More
6:42
FastAPI Forms FastAPI Login & Sign Up Forms
8:30
User Data Validation with pydantic
10:52
Implement pydantic Data Validation
9:32
Pydantic Valid Data or Error Method
8:19
Experiment with JWT Tokens
13:54
Implement Auth Methods for JWT Tokens
9:49
Shortcut Method for Rendering Jinja Templates
11:58
Using Cookies & httponly within FastAPI
7:59
Login & Set JWT-Based HTTP Only Cookie
9:14
Redirect Shortcut
4:42
Login Required Decorator
10:41
Render a template for HTTP Errors
11:45
Authentication Middleware Backend
16:25
Video Model
7:05
YouTube Video ID Extraction
7:18
Notebook to Verify Video Add Feature
6:32
Custom Exception Classes for Videos
4:28
Routers for Sub Modules in FastAPI
6:28
Video Create Schema
10:06
Video Create View
2:59
Video Create View Form
12:50
Video List & Title Field
10:49
Dynamic URL Routing & Video Detail View
11:06
Render Video on Detail Page
6:04
The YouTube JavaScript Player
47:15
Video Watch Events Endpoint in FastAPI
11:02
Watch Event Model
10:11
Drop Table from Cassandra Database via Notebook
8:13
More Watch Event Data
5:36
Pydantic Model for Watch Event Data
8:14
Watch Event Router
4:50
Get Video Resume Time
7:33
Playlist Model & Cassandra List Column
4:32
Playlist Tests in Notebooks
10:41
Playlist Routing & Templates
10:10
HTMX, FastAPI & Jinja
8:29
Use HTMX to Handle Form Data
12:27
Get or Create Video for Playlists
8:11
Playlist Routers for Handling Video Additions
12:33
Playlist Video Schema
11:33
Remove Playlist Item via HTMX
12:13
Edit or Remove Video
9:49
Edit or Remove Video via HTMX
16:10
Add Bootstrap & Improve Usablity
40:01
Login Required HTMX Redirect Header
3:49
Logout View
7:46
Prepare our Search Index
14:01
Implement Algolia Client & API
8:41
Update Search Index
8:01
Search View & Update Index Method
13:37
Thank you and next steps
2:43