Ready to Start Learning?

Sign in to check if you already have access, or get started with a purchase or membership.

Video Membership

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.
In this one, we'll learn how to implement a number of key features in building a video membership site including:
  • Creating Users (with custom fields) from scratch
  • Saving Secure, Hashed, Passwords
  • Authentication
  • Video Analytics
  • And much more

References:

Video Membership

Lifetime access to this course

or get access to 500+ courses with a membership

Lessons

1

Welcome

5:27

2

Requirements

1:22

3

Setup VSCode & Python Virtual Environment

5:20

4

Hello World with FastAPI

6:43

5

Picking a Database

5:57

6

Create our NoSQL Database with AstraDB

2:49

7

Basic AstraDB Configuration for FastAPI

8:04

8

Configuration & Environment Variables

7:34

9

Create our User model with Python & Cassandra

7:37

10

Sync Cassandra Tabels via FastAPI On Startup

7:30

11

Create a user via shell

3:22

12

List Stored Values on API Endpoint

3:09

13

User Create Method & Email Validation

7:54

14

Security & Password Hashing

9:31

15

Interactive Notebook to Analyze New Features

9:31

16

Automated Tests

18:04

17

Jinja Templates to Render HTML

9:34

18

Jinja Template Inheritance & More

6:42

19

FastAPI Forms FastAPI Login & Sign Up Forms

8:30

20

User Data Validation with pydantic

10:52

21

Implement pydantic Data Validation

9:32

22

Pydantic Valid Data or Error Method

8:19

23

Experiment with JWT Tokens

13:54

24

Implement Auth Methods for JWT Tokens

9:49

25

Shortcut Method for Rendering Jinja Templates

11:58

26

Using Cookies & httponly within FastAPI

7:59

27

Login & Set JWT-Based HTTP Only Cookie

9:14

28

Redirect Shortcut

4:42

29

Login Required Decorator

10:41

30

Render a template for HTTP Errors

11:45

31

Authentication Middleware Backend

16:25

32

Video Model

7:05

33

YouTube Video ID Extraction

7:18

34

Notebook to Verify Video Add Feature

6:32

35

Custom Exception Classes for Videos

4:28

36

Routers for Sub Modules in FastAPI

6:28

37

Video Create Schema

10:06

38

Video Create View

2:59

39

Video Create View Form

12:50

40

Video List & Title Field

10:49

41

Dynamic URL Routing & Video Detail View

11:06

42

Render Video on Detail Page

6:04

43

The YouTube JavaScript Player

47:15

44

Video Watch Events Endpoint in FastAPI

11:02

45

Watch Event Model

10:11

46

Drop Table from Cassandra Database via Notebook

8:13

47

More Watch Event Data

5:36

48

Pydantic Model for Watch Event Data

8:14

49

Watch Event Router

4:50

50

Get Video Resume Time

7:33

51

Playlist Model & Cassandra List Column

4:32

52

Playlist Tests in Notebooks

10:41

53

Playlist Routing & Templates

10:10

54

HTMX, FastAPI & Jinja

8:29

55

Use HTMX to Handle Form Data

12:27

56

Get or Create Video for Playlists

8:11

57

Playlist Routers for Handling Video Additions

12:33

58

Playlist Video Schema

11:33

59

Remove Playlist Item via HTMX

12:13

60

Edit or Remove Video

9:49

61

Edit or Remove Video via HTMX

16:10

62

Add Bootstrap & Improve Usablity

40:01

63

Login Required HTMX Redirect Header

3:49

64

Logout View

7:46

65

Prepare our Search Index

14:01

66

Implement Algolia Client & API

8:41

67

Update Search Index

8:01

68

Search View & Update Index Method

13:37

69

Thank you and next steps

2:43

Video Membership - Coding for Entrepreneurs