Let's do this! Code: github.com/codingforentrepreneurs/video-membership Chapters 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 UA-cam 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 UA-cam 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
I am Very thankful to you as you brought another brand new complete tutorial on FastAPI. I recently got an intern job as a backend developer. I cannot deny your contribution behind my skills growing. Still I am gradually learning from you master.
I wrote myself django code following your django for begginners full course, and I went on to follow your blog tutorials in the first year and today I am a where I am as a developer and thank you to the role you played with your selfless hardwork in helping me when I was curious and yet lacking a clue how its done
I have grown so much from your content, a newbie who changed career from journalism to tech, I have so much I have collected from you, this far wah!!! May Allah bless You abundantly...
I'm 2 hours in, but this astoundingly good and just what I needed - step by step, start to finish development of a web app. I have an idea for a web app, but I have no clue how to approach some obstacles and hopefully going through a complete project will serve as a guidance of sorts. My background in coding is using Python for data analysis, so lots of useful nuggets thus far for me.
hey Justin , thanks for the tutorial, i just want to thank you that i got a good paying job right after graduation because i used your django videos to build my fundamentals
You are absolute stars! Wonder if you could do LMS(Learning Management System), I couldn't find a single end-to-end tutorial on this, so you might be able to uncover the uncovered topic.
DRF pros: - has all that Django has (all these batteries) DRF cons: - has all that Django has (all these batteries) - might be too heavy - async support is still on its way FastAPI pros: - Fast (async by design) - batteries are not included - lightweight FastAPI cons: - batteries are not included - you need to reinvent the wheel Ну как-то так...
Hello Justin, I'm trying to write unit test. I'm having challenges mocking the database and altering the keyspace name to enhance testing. Any help pls???
A want to make a membership website when users can add thier city coures regestred in and people can search people in same course or city how can do this i am stuck help you said if you have question Ask it
First of all thank you so much for the video, for a self learner like me this content is pure gold. I was having an error while creating the user in the terminal, the error says "Connection name '' doesn't exist in the registry." Would really appreciate if someone helps me out..
This one is still way over my Head.. BUT Already thank you for the huge Tutorial and .. See you in a bit! (okey, so what was a variable again..? haha jk) .. learning..
Project notes 2:45:31 - here, my 'from jose import jwt' failed to import with an error 'unknown module jose' - when i did a 'pip install pyjwt', then the import worked.
AnyOne Help File "C:\Users\arif\VideoDelta\app\main.py", line 69, in login_post_view File "pydantic\main.py", line 339, in pydantic.main.BaseModel.__init__ File "pydantic\main.py", line 1102, in pydantic.main.validate_model File "C:\Users\arif\VideoDelta\app\users\schemas.py", line 25, in validate_user user_obj = auth.authenticate(email, password) File "C:\Users\arif\VideoDelta\app\users\auth.py", line 14, in authenticate if not user_obj.verify_password(password): AttributeError: 'NoneType' object has no attribute 'verify_password'
Let's do this!
Code: github.com/codingforentrepreneurs/video-membership
Chapters
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 UA-cam 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 UA-cam 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
Guys believe me is super hard to create 11-hour video with editing in single video ! +++ great course
Thank you!
I am Very thankful to you as you brought another brand new complete tutorial on FastAPI. I recently got an intern job as a backend developer. I cannot deny your contribution behind my skills growing. Still I am gradually learning from you master.
I wrote myself django code following your django for begginners full course, and I went on to follow your blog tutorials in the first year and today I am a where I am as a developer and thank you to the role you played with your selfless hardwork in helping me when I was curious and yet lacking a clue how its done
I have grown so much from your content, a newbie who changed career from journalism to tech, I have so much I have collected from you, this far wah!!! May Allah bless You abundantly...
I'm 2 hours in, but this astoundingly good and just what I needed - step by step, start to finish development of a web app. I have an idea for a web app, but I have no clue how to approach some obstacles and hopefully going through a complete project will serve as a guidance of sorts. My background in coding is using Python for data analysis, so lots of useful nuggets thus far for me.
hey Justin , thanks for the tutorial, i just want to thank you that i got a good paying job right after graduation because i used your django videos to build my fundamentals
Great to hear! Congrats
would love to see a Django version of this great project.
Who else? Please comment on this thread 👇
God bless Django! Django saves us from all these manual sunrises and sunsets!
@@CodingEntrepreneurs Me
@@CodingEntrepreneurs meeeeee
@@CodingEntrepreneurs meee 🙂
Just started, but can already tell I am going to learn a lot. Thanks for the guide!
You are absolute stars! Wonder if you could do LMS(Learning Management System), I couldn't find a single end-to-end tutorial on this, so you might be able to uncover the uncovered topic.
Have you found any yet?
Watched it in one go this sunday😂 way better than any weekend stupid plans
Legend!
FastAPI multi tenant application.
I've really learnt from this channel. Thank you Justin
It’d be really valuable to get your expert breakdown of pros and cons between DRF and FastAPI now that you’ve dove into fastAPI more
DRF pros:
- has all that Django has (all these batteries)
DRF cons:
- has all that Django has (all these batteries) - might be too heavy
- async support is still on its way
FastAPI pros:
- Fast (async by design)
- batteries are not included - lightweight
FastAPI cons:
- batteries are not included - you need to reinvent the wheel
Ну как-то так...
What a Christmas gift, WOW!!!!! Thank you sir for your knowledge, will try this.
thank you so much Justin !
your work is invaluable, helping us to get better and better.
you are the absolute Django rock star ! !
I remember you created twitter like app and now this, damn you genius af.
Omg 11 Hours. Thank u very much. I wish u a merry Christmas n a happy new year 🥂🍾❣️
And same to you!
What a gift for Xmas.
Great tutorial as always
Awesome in-depth and well-explained tutorial!
Thank CFE for another great tutorial. It's a happy new year and a great journey into FastAPI with you. God bless!
The best tutorial of the year
stunning content, and yet for free, unbelievable!!
Learning a lot, thanks for existing :)
~still 2 hours in it, cant wait to get the full content..
Amazing as always, thanks for all of your time so far
for autoplay you need to put in muted as well, then it will work
The way you explain is mind blowing :)
are we going to use any kind of API?
if yes is it free
Hello Justin, I'm trying to write unit test. I'm having challenges mocking the database and altering the keyspace name to enhance testing.
Any help pls???
A want to make a membership website when users can add thier city coures regestred in and people can search people in same course or city how can do this i am stuck help you said if you have question Ask it
Loved this. Subscribed. looking forward to more. Thank you
Finally the face of the great voice... Rocks....
how about a payment gateway?
Thank you very much! I've learned a lot!
Hi sir,
How to avoid __pycache__
While running code it will give previous values
Please help me
Django version please! :)
Im trying to save the video time to resume it when te client is back but in django, does anyone knows how to do that? Thank you in advance :)
why did you use NoSQL in this project?
I would like to see how to make a project using ssh
First of all thank you so much for the video, for a self learner like me this content is pure gold.
I was having an error while creating the user in the terminal, the error says "Connection name '' doesn't exist in the registry."
Would really appreciate if someone helps me out..
Wrap str() around your connection name
This one is still way over my Head.. BUT Already thank you for the huge Tutorial and .. See you in a bit! (okey, so what was a variable again..? haha jk) .. learning..
*Hey buddy were are you these days ?....no new videos* 😐
Just dropped a new one! Thanks for checking in
Wow this is something great. Thanks a lot
Project notes
2:45:31 - here, my 'from jose import jwt' failed to import with an error 'unknown module jose' - when i did a 'pip install pyjwt', then the import worked.
2:51:16 - passing in 'expires' but the timedelta is still using the expires_after (set to 10) - and yeah, I do SW QA for a living 🙂
And he catches it at 3:01:25!
Great Video 🤗. Thank You.
Thank you so much for this tutorial
You are so welcome!
Thank you!
Thank u for this amazing work really amazing
Thanks. 🙏
Could you made a progressive web app with python as I think it is the future
Thank you so much 😊
Thanks
Thank you!
Django version please
You are my Boss ☺️
Would be nice to see MongoDB series
Finally, thank you
Watching
Unbelievable 🥰🤩
Killer content
Love you bro
this is crazy
GOAT
Damn
wow
You're a fucking legend
Prem
please more fastapi tutorials, maybe make one premium course with stripe, social login, htmx and I pay 195$ ❤
I am okay with this tutorial but why not Django?
AnyOne Help
File "C:\Users\arif\VideoDelta\app\main.py", line 69, in login_post_view
File "pydantic\main.py", line 339, in pydantic.main.BaseModel.__init__
File "pydantic\main.py", line 1102, in pydantic.main.validate_model
File "C:\Users\arif\VideoDelta\app\users\schemas.py", line 25, in validate_user
user_obj = auth.authenticate(email, password)
File "C:\Users\arif\VideoDelta\app\users\auth.py", line 14, in authenticate
if not user_obj.verify_password(password):
AttributeError: 'NoneType' object has no attribute 'verify_password'