Y

YouLibs

Remove Touch Overlay

Create a Video Membership Web App from Scratch with Python, NoSQL, & FastAPI

Duration: 11:06:08Views: 157.4KLikes: 1.1KDate Created: Dec, 2021

Channel: CodingEntrepreneurs

Category: Education

Tags: pythonsoftware developmentalgolia searchhtmxyoutube-javascript-playervideo-membershipjavascriptnosqlpython3fastapidjangodatastaxcassandraalgoliaweb developmentastradb

Description: Create a Video Membership Web App from Scratch with Python, NoSQL, & FastAPI Create a Video Membership app using FastAPI & NoSQL. In this series, we're going to explore building a membership application using FastAPI and a managed Cassandra database called AstraDB (dtsx.io/3hO4c4w). In this one, we'll learn how to implement a number of key features from scratch in building a video membership site including: - Creating Users (with custom fields) from scratch - Saving Secure, Hashed, Passwords - Authentication - Video Analytics & Resumable Videos - Search Engine - And much more Links: ⦿ Code: github.com/codingforentrepreneurs/video-membership ⦿ Subscribe: youtube.com/codingentrepreneurs?sub_confirmation=1 ⦿ Project Tutorials: cfe.sh/projects ⦿ AstraDB Sign up: dtsx.io/3lAUmnG ⦿ 30 Days of Python: youtube.com/playlist?list=PLEsfXFp6DpzQjDBvhNy5YbaBx9j-ZsUe6 ⦿ FastAPI Docs: fastapi.tiangolo.com 00:00:00 Welcome 00:05:27 Requirements 00:06:51 Setup VSCode & Python Virtual Environment 00:12:12 Hello World with FastAPI 00:18:58 Picking a Database 00:24:56 Create our NoSQL Database with AstraDB 00:27:48 Basic AstraDB Configuration for FastAPI 00:35:54 Configuration & Environment Variables 00:43:30 Create our User model with Python & Cassandra 00:51:08 Sync Cassandra Tabels via FastAPI On Startup 00:58:40 Create a user via shell 01:02:05 List Stored Values on API Endpoint 01:05:15 User Create Method & Email Validation 01:13:12 Security & Password Hashing 01:22:45 Interactive Notebook to Analyze New Features 01:32:18 Automated Tests 01:50:25 Jinja Templates to Render HTML 02:00:00 Jinja Template Inheritance & More 02:06:44 FastAPI Forms FastAPI Login & Sign Up Forms 02:15:16 User Data Validation with pydantic 02:26:10 Implement pydantic Data Validation 02:35:44 Pydantic Valid Data or Error Method 02:44:06 Experiment with JWT Tokens 02:58:02 Implement Auth Methods for JWT Tokens 03:07:53 Shortcut Method for Rendering Jinja Templates 03:19:53 Using Cookies & httponly within FastAPI 03:27:54 Login & Set JWT 03:37:09 Redirect Shortcut 03:41:53 Login Required Decorator 03:52:36 Render a template for HTTP Errors 04:04:24 Authentication Middleware Backend 04:20:50 Video Model 04:27:57 YouTube Video ID Extraction 04:35:17 Notebook to Verify Video Add Feature 04:41:51 Custom Exception Classes for Videos 04:46:21 Routers for Sub Modules in FastAPI 04:52:51 Video Create Schema 05:02:59 Video Create View 05:06:00 Video Create View Form 05:18:52 Video List View & Title Field 05:29:43 Dynamic URL Routing & Video Detail View 05:40:50 Render Video on Detail Page 05:46:56 The YouTube JavaScript Player 06:34:13 Video Watch Events Endpoint in FastAPI 06:45:17 Watch Event Model 06:55:30 Drop Table from Cassandra Database via Notebook 07:03:45 More Watch Event Data 07:09:24 Pydantic Model for Watch Event Data 07:17:40 Watch Event Router 07:22:32 Get Video Resume Time 07:30:07 Playlist Model & Cassandra List Column 07:34:42 Playlist Tests in Notebooks 07:45:25 Playlist Routing & Templates 07:55:36 HTMX, FastAPI, & Jinja 08:04:07 Use HTMX to Handle Form Data 08:16:36 Get or Create Video for Playlists 08:24:49 Playlist Routers for Handling Video Additions 08:37:23 Playlist Video Schema 08:48:58 Remove Playlist Item via HTMX 09:01:13 Edit or Remove Video 09:11:04 Edit or Remove Video via HTMX 09:27:16 Add Bootstrap & Improve Usability 10:07:19 Login Required HTMX Redirect Header 10:11:10 Logout View 10:18:58 Prepare our Search Index 10:33:00 Implement Algolia Client & API 10:41:43 Update Search Index 10:49:46 Search View & Update Index Method 11:03:25 Thank you and next steps

Swipe Gestures On Overlay