Тёмный

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

CodingEntrepreneurs
Подписаться 348 тыс.
Просмотров 184 тыс.
50% 1

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/codingforentrepren...
⦿ Subscribe: ru-vid.com...
⦿ Project Tutorials: cfe.sh/projects
⦿ AstraDB Sign up: dtsx.io/3lAUmnG
⦿ 30 Days of Python: • 30 Days of Python ~ Py...
⦿ 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 RU-vid 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 RU-vid 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

Опубликовано:

 

1 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 116   
@CodingEntrepreneurs
@CodingEntrepreneurs 2 года назад
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 RU-vid 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 RU-vid 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
@tanjimulislam4762
@tanjimulislam4762 2 года назад
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.
@NiM44
@NiM44 2 года назад
Guys believe me is super hard to create 11-hour video with editing in single video ! +++ great course
@CodingEntrepreneurs
@CodingEntrepreneurs 2 года назад
Thank you!
@baridzimaximillem6743
@baridzimaximillem6743 2 года назад
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
@OloNadTrolo
@OloNadTrolo 2 года назад
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.
@danielkamau8436
@danielkamau8436 2 года назад
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...
@LilituLitu
@LilituLitu 2 года назад
Just started, but can already tell I am going to learn a lot. Thanks for the guide!
@professionalfacepuncher8361
@professionalfacepuncher8361 2 года назад
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
@CodingEntrepreneurs
@CodingEntrepreneurs 2 года назад
Great to hear! Congrats
@bumblebee2012able
@bumblebee2012able 2 года назад
Amazing as always, thanks for all of your time so far
@steliosioannides7128
@steliosioannides7128 2 года назад
thank you so much Justin ! your work is invaluable, helping us to get better and better. you are the absolute Django rock star ! !
@TheAremoh
@TheAremoh 2 года назад
What a gift for Xmas. Great tutorial as always
@impfect
@impfect Год назад
Awesome in-depth and well-explained tutorial!
@Noritoshi-r8m
@Noritoshi-r8m 2 года назад
What a Christmas gift, WOW!!!!! Thank you sir for your knowledge, will try this.
@TheAremoh
@TheAremoh 2 года назад
FastAPI multi tenant application. I've really learnt from this channel. Thank you Justin
@minnami778
@minnami778 2 года назад
Omg 11 Hours. Thank u very much. I wish u a merry Christmas n a happy new year 🥂🍾❣️
@CodingEntrepreneurs
@CodingEntrepreneurs 2 года назад
And same to you!
@abrahamngetich1415
@abrahamngetich1415 2 года назад
Thank CFE for another great tutorial. It's a happy new year and a great journey into FastAPI with you. God bless!
@renancatan
@renancatan 2 года назад
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..
@musasibuyi4765
@musasibuyi4765 2 года назад
Loved this. Subscribed. looking forward to more. Thank you
@smartchandan4879
@smartchandan4879 2 года назад
The way you explain is mind blowing :)
@aloudiakite1217
@aloudiakite1217 2 года назад
The best tutorial of the year
@excels6277
@excels6277 10 месяцев назад
Thank you very much! I've learned a lot!
@vladimirbern3138
@vladimirbern3138 2 года назад
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.
@firmskanayo4923
@firmskanayo4923 7 месяцев назад
Have you found any yet?
@anthonydattolo6297
@anthonydattolo6297 2 года назад
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
@cyber-paddle
@cyber-paddle 2 года назад
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 Ну как-то так...
@ai.201
@ai.201 2 года назад
I remember you created twitter like app and now this, damn you genius af.
@amitavasengupta5580
@amitavasengupta5580 6 месяцев назад
Watched it in one go this sunday😂 way better than any weekend stupid plans
@CodingEntrepreneurs
@CodingEntrepreneurs 6 месяцев назад
Legend!
@princewillinyang5993
@princewillinyang5993 Год назад
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???
@mit8392
@mit8392 8 месяцев назад
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
@amarnathreddysurapureddy9111
@amarnathreddysurapureddy9111 2 года назад
Hi sir, How to avoid __pycache__ While running code it will give previous values Please help me
@andriodenavarrete4495
@andriodenavarrete4495 2 года назад
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 :)
@jkmaciel
@jkmaciel 11 месяцев назад
Thank you!
@green_universe
@green_universe 2 года назад
Great Video 🤗. Thank You.
@tariq.rashid
@tariq.rashid 10 месяцев назад
for autoplay you need to put in muted as well, then it will work
@ravikumarreddy3773
@ravikumarreddy3773 2 года назад
Thank you so much 😊
@harshAmiya
@harshAmiya Год назад
how about a payment gateway?
@RohitSaini52945
@RohitSaini52945 Год назад
Wow this is something great. Thanks a lot
@darkspirit4531
@darkspirit4531 10 месяцев назад
are we going to use any kind of API? if yes is it free
@letslearntogether8438
@letslearntogether8438 2 года назад
Finally the face of the great voice... Rocks....
@Existence-
@Existence- 2 года назад
Thank u for this amazing work really amazing
@gambomaster
@gambomaster 2 года назад
Thanks. 🙏
@janirico5641
@janirico5641 2 года назад
would love to see a Django version of this great project.
@CodingEntrepreneurs
@CodingEntrepreneurs 2 года назад
Who else? Please comment on this thread 👇
@cyber-paddle
@cyber-paddle 2 года назад
God bless Django! Django saves us from all these manual sunrises and sunsets!
@usaava
@usaava 2 года назад
@@CodingEntrepreneurs Me
@thecodinghotel1791
@thecodinghotel1791 2 года назад
@@CodingEntrepreneurs meeeeee
@CanBerbeer
@CanBerbeer 2 года назад
@@CodingEntrepreneurs meee 🙂
@AbhishekVerma-fe3wo
@AbhishekVerma-fe3wo 2 года назад
Thank you so much for this tutorial
@CodingEntrepreneurs
@CodingEntrepreneurs 2 года назад
You are so welcome!
@sandykurnia7150
@sandykurnia7150 2 года назад
Finally, thank you
@abdullashafi580
@abdullashafi580 2 года назад
You are my Boss ☺️
@Existence-
@Existence- 2 года назад
I would like to see how to make a project using ssh
@soufianebenyaala9206
@soufianebenyaala9206 2 года назад
why did you use NoSQL in this project?
@andriodenavarrete4495
@andriodenavarrete4495 2 года назад
Django version please! :)
@pitchhome48
@pitchhome48 Год назад
Thanks
@CodingEntrepreneurs
@CodingEntrepreneurs Год назад
Thank you!
@sumanbanik3339
@sumanbanik3339 2 года назад
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..
@CodingEntrepreneurs
@CodingEntrepreneurs 2 года назад
Wrap str() around your connection name
@farazahmed1668
@farazahmed1668 2 года назад
Love you bro
@maxfrischdev
@maxfrischdev Год назад
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..
@Existence-
@Existence- 2 года назад
Could you made a progressive web app with python as I think it is the future
@techworld3043
@techworld3043 2 года назад
Killer content
@rcampbellnc
@rcampbellnc 2 года назад
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.
@rcampbellnc
@rcampbellnc 2 года назад
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 🙂
@rcampbellnc
@rcampbellnc 2 года назад
And he catches it at 3:01:25!
@ardabili
@ardabili 2 года назад
Unbelievable 🥰🤩
@terry.chootiyaa
@terry.chootiyaa 2 года назад
*Hey buddy were are you these days ?....no new videos* 😐
@CodingEntrepreneurs
@CodingEntrepreneurs 2 года назад
Just dropped a new one! Thanks for checking in
@amazing-graceolutomilayo5041
@amazing-graceolutomilayo5041 2 года назад
GOAT
@The_ProBoys
@The_ProBoys Год назад
Django version please
@user-le6df9sc7c
@user-le6df9sc7c 2 года назад
Watching
@meylyssa3666
@meylyssa3666 2 года назад
Would be nice to see MongoDB series
@masterdrop
@masterdrop 2 года назад
wow
@EmptyNonsens
@EmptyNonsens 2 года назад
this is crazy
@devkantthefullstackguy
@devkantthefullstackguy 2 года назад
Damn
@paremkumar4802
@paremkumar4802 2 года назад
Prem
@vishwanath-ts
@vishwanath-ts 2 года назад
You're a fucking legend
@streamocu2929
@streamocu2929 Год назад
please more fastapi tutorials, maybe make one premium course with stripe, social login, htmx and I pay 195$ ❤
@aarifhussain9751
@aarifhussain9751 Год назад
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'
Далее
КАК Я ЭТО СДЕЛАЛА?
00:13
Просмотров 423 тыс.
API integration Course - Modern Python with FastAPI
3:49:36
FastAPI - A python framework | Full Course
4:02:56
Просмотров 849 тыс.
Learn Angular A-Z: Complete Tutorial for Beginners
4:21:33