VehiclesFashionRecipesBlogsHuntTravelsSportFunHandmadeITEducation
Mini-Games
x

x
zakruti.com » IT - Software » freeCodeCamp.org
Python API Development - Comprehensive Course for Beginners

Python API Development - Comprehensive Course for Beginners

FBTwitterReddit

video description

Rating: 4.0; Vote: 1
Learn Python API development in one of the most comprehensive courses ever on the topic. You will build a full-fledged API in Python using FastAPI. You will learn the fundamentals of API design including routes, serialization/deserialization, schema validation, and models. You will also learn about SQL, testing with pytest, and how to build out a CI/CD pipeline using GitHub actions. - Code: https://github.com/Sanjeev-Thiyagarajan/fastapi-course https://github.com/Sanjeev-Thiyagarajan/fastapi-course -- Course from Sanjeev Thiyagarajan. https://www.youtube.com/channel/UC2sYgV-NV6S5_-pqLGChoNQ -- Course Contents 00:00 Intro 06:33 Project Overview 11:22 Mac Python Installation 13:15 Mac VS Code install and setup 16:37 Windows Python Installation 18:30 Windows VS Code install and setup 22:11 Python virtual Env Basics 24:35 Virtual Env on windows 28:56 Virtual Env on Mac 34:17 Install dependencies w/ pip 36:21 Starting FastAPI 39:23 Path Operations 53:22 Intro toman 57:34 HTTP Requests 1:07:29 Schema Validation with Pydantic 1:22:45 CRUD Operations 1:29:44 Storing in Array 1:34:06 Creating 1:38:15 Postman Collections & saving requests 1:39:47 Retrieve One 1:48:10 Path order Matters 1:52:46 Changing response Status Codes 2:01:49 Deleting 2:10:31 Updating 2:18:02 Automatic Documentation 2:21:34 Python packages 2:24:11 Database Intro 2:28:54 Postgres Windows Install 2:31:28 Postgres Mac Install 2:34:26 Database Schema & Tables 2:44:35 Managing Postgres with PgAdmin GUI 3:12:10 Your first SQL Query 3:19:43 Filter results with where 3:22:55 SQL Operators 3:26:38 IN 3:28:07 Pattern matching with LIKE 3:31:59 Ordering Results 3:36:27 LIMIT & OFFSET 3:39:21 Modifying Data 3:53:48 Setup App Database 3:58:21 Connecting to database w/ Python 4:08:00 Database CRUD 4:31:18 ORM intro 4:35:33 SQLALCHEMY setup 4:55:25 Adding CreatedAt Column 5:00:59 Get All 5:07:55 Create 5:15:50 Get by ID 5:19:50 Delete 5:22:31 Update 5:28:21 Pydantic vs ORM Models 5:32:21 Pydantic Models Deep Dive 5:38:57 Response Model 5:50:08 Creating Users Table 5:54:50 User Registration Path Operation 6:03:27 Hashing Passwords 6:08:49 Refractor Hashing Logic 6:10:32 Get User by ID 6:17:13 FastAPI Routers 6:27:34 Router Prefix 6:30:31 Router Tags 6:32:49 JWT Token Basics 6:47:03 Login Process 7:00:44 Creating Token 7:09:58 OAuth2 PasswordRequestForm 7:13:23 Verify user is Logged In 7:25:21 Fixing Bugs 7:27:59 Protecting Routes 7:36:17 Test Expired Token 7:38:13 Fetching User in Protected Routes 7:42:44 Postman advanced Features 7:50:33 SQL Relationship Basics 7:54:59 Postgres Foreign Keys 8:07:20 SQLAlchemy Foreign Keys 8:13:40 Update Schema to include User 8:17:59 Assigning Owner id when creating new 8:21:01 Delete and Update only your own 8:27:48 Only Retrieving Logged in User's 8:33:37 Sqlalchemy Relationships 8:38:32 Query Parameters 8:50:46 Cleanup our main.py file 8:53:53 Env Variables 9:21:20 Vote/Like Theory 9:26:36 Votes Table 9:31:33 Votes Sqlalchemy 9:34:11 Votes Route 9:52:31 SQL Joins 10:15:26 Joins in SqlAlchemy 10:28:21 Get One with Joins 10:30:18 What is a database migration tool 10:33:45 Alembic Setup 11:13:50 Disable SqlAlchemy create Engine 11:14:28 What is CORS? 11:23:38 Git PreReqs 11:27:40 Git Install 11:29:23 Github 11:34:39 Heroku intro 11:35:40 Create Heroku App 11:40:21 Heroku procfile 11:44:59 Adding a Postgres database 11:48:42 Env Variables in Heroku 11:58:59 Alembic migrations on Heroku Postgres instance 12:02:52 Pushing changed to production 12:05:04 Create an Ubuntu VM 12:08:04 Update packages 12:10:47 Install Python 12:12:21 Install Postgres & setup password 12:17:28 Postgres Config 12:24:50 Create new user and setup python evironment 12:34:06 Env Variables 12:42:24 Alembic migrations on production database 12:45:57 Gunicorn 12:54:12 Creating a Systemd service 13:04:45 NGINX 13:10:45 Setting up Domain name 13:15:19 SSL/HTTPS 13:19:31 NGINX enable 13:20:06 Firewall 13:23:47 Pushing code changes to Production 13:26:09 Dockerfile 13:38:39 Docker Compose 13:48:34 Postgres Container 13:56:22 Bind Mounts 14:03:39 Dockerhub 14:08:08 Production vs Development 14:14:51 Testing Intro 14:17:19 Writing your first test 14:30:22 The -s & -v flags 14:31:44 Testing more functions 14:35:29 Parametrize 14:40:21 Testing Classes 14:48:37 Fixtures 14:55:40 Combining Fixtures + Parametrize 14:59:13 Testing Exceptions 15:06:07 FastAPI TestClient 15:14:26 Pytest flags 15:17:31 Test create user 15:25:23 Setup testing database 15:36:47 Create & destroy database after each test 15:44:18 More Fixtures to handle database interaction 15:50:35 Trailing slashes in path 15:53:12 Fixture scope 16:07:50 Test user fixture 16:14:40 Test/validate token 16:18:59 Conftest.py 16:22:09 Testing 17:34:15 CI/CD intro 17:43:29 Github Actions 17:49:32 Creating Jobs 17:57:38 setup python/dependencies/pytest 18:06:14 Env variables 18:11:19 Github Secrets 18:18:14 Testing database 18:23:42 Building Docker images 18:34:33 Deploy to heroku 18:49:10 Failing tests in pipeline 18:52:18 Deploy to Ubuntu
Date: 2022-03-14

Comments and reviews: 10


hello I ran into an error when working on the sqlalchemy engine, created the database_url with the correct password but it gives me this error -sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at -localhost- (::1), port 5432 failed: FATAL: password authentication failed for user -postgres- -I am using the correct password because that's what I use to connect to the DB anytime I log in. thank you, anyone, in advance
reply

for those having the problem in 10:25:39 with the PostOut model, he didn't realize but what he changed at the end was including the BaseModel on the PostOut class instead of the PostBase which is what got you a bunch of errors beacause you're passing to the class the atributes of the PostBase Model and you're passing the same thing to the Post object. I hope it helped
reply

Can anyone guide me what is the best way to be a back-end developer, i am a DevOps Engineer and i mainly deal with CI-CD and cloud technology. I want to dig into back-end development using python upto production level. What i want is a very detailed Program. Please guide me to some resource.
reply

Random question, maybe my brain is fuzzy from too much watching, but in the Docker section, did I miss where the docker postgres image gets tables and schema structure? How do you do that as the main -hello world- works fine, but any other requests fail because there is no table structure.
reply

Hey Guys,
I have run into an error when running heroku run -alembic upgrade head-, -> password authentication failed for user.... I dont understand how this can be happening when i didnt get this error to run the server previously. Has anyone seen this or be able to help me out?

reply

Thank you so much for this awesome course! I'm a junior developer working on my first API (FastAPI) at work, this gives me the necessary foundation. Everything fits together and that the chosen tools and methods are relevant in the industry... This is highly valuable!
reply

I have a small problem, at 43:43 timestamp, we can see that the terminal has colors like INFO is green, then there is Cyan coloured number : 5480 but I can't see the colors, instead i see random code like '?[32m' or '?[36m'. Please help if you find a solution
reply

A List wasn't the best choice to store that type of data, a dictionary would have been more suitable where Mapping was done as so all that was necessary is -dict.get(id)- to see if the key exists, this would also be convenient to solve the dupe id issue
reply

4:26:27 Why do you return a dictionary to tell the front end information rather than simply returning a simple print statement/message? Im not through the whole course yet but i cant seem to understand the logic behind this...
reply

6:04:00 can't install bcrypt in the virtual environment, (on windows machine)
error : can't build the wheel
I don't what the problem is.
pip is running on latest version
python : 3.8
do anyone have any solution?

reply
Add a review, comment






Other channel videos