FastAPI – The Complete Course (Beginner + Advanced)

FastAPI – The Complete Course (Beginner + Advanced)

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 118 lectures (9h 24m) | 2.57 GB

Dive in and learn FastAPI from scratch! Learn FastAPI, RESTful APIs using Python, SQLAlchemy, OAuth, JWT and way more!

Learn how to build FastAPI applications from scratch!

FastAPI and Python are two of the hottest technologies in the market for building high performing APIs.

Understanding and knowing how to build APIs with FastAPI and Python can improve the job you have, get you a new job or even create multiple contract roles! These skills are are needed everywhere, and some of the highest paying job postings are asking for Python developers with FastAPI experience.

In this complete FastAPI course I will quickly get you up to speed, by walking you through the FastAPI framework from the beginning to the end! Whether you are interested in expanding your current craft, want to change careers or simply wanting to learn a very popular topic, then this course is for you! You will be using modern technologies including: PyCharm, Python, FastAPI, bcrypt password hashing, and JSON Web Tokens (JWT)

Why is FastAPI the fastest growing Python web development framework in the market?

To make it simple, FastAPI covers all aspects of APIs. FastAPI comes with a lot out of the box, and is one of the fastest and highest performing web frameworks available. This makes web development rapid, while making use of one of the most popular programming languages in the world, Python.

This course is designed with beginners in mind! This means no matter what kind of background you come from, you will be able to learn one of the hottest frameworks in the market. All you need is some basic python knowledge, and you will be off creating APIs from scratch protected behind JSON Web Tokens (JWT)

Content and Overview:

  • Install & Setup Python, IDE & FastAPI
  • Overview of FastAPI Projects
  • Installation of a virtual environment for your FastAPI project
  • Create the HTTP Request Methods (GET, POST, PUT, DELETE)
  • Data Validation
  • HTTP Response Status Codes
  • Working with dynamic data and models
  • Save dynamic data to Database
  • Handling user input & forms
  • Advanced features like Registration, Authentication (bcrypt) & Authorization (JWT)
  • Database relationships (CASCADE, etc)
  • Setup production database (MySQL)
  • Routing
  • And more!
Table of Contents

1 Introduction
2 Course Content
3 How To Get The Most Out Of This Course
4 How to take this course
5 FastAPI Overview

Python Installation
6 Python Installation Overview
7 Python Setup (Windows)
8 Python Setup (Mac)
9 Python Integrated Development Environment Overview
10 Setup Integrated Development Environment

A Python Refresher
11 Introduction to section
12 Download Python Refresher Source Code
13 Variables in Python
15 Assignment
16 Assignment Solution
17 String formatting in Python
18 Getting User Input
19 String Assignment
20 String Assignment Solution (Together)
21 Lists in Python
22 Sets and Tuples
23 Lists Assignment
24 Lists Assignment Solution
25 Booleans and Operators
26 If Else Statements
27 If Else Assignment
28 If Else Assignment Solution
29 Loops in Python
30 Loops Assignment
31 Loops Assignment Solution
32 Dictionaries in Python
33 Dictionaries Assignment
34 Dictionaries Assignment Solution
35 Functions in Python
36 Functions Assignment
37 Functions Assignment Solution
38 Imports in Python
39 Object Oriented Programming in Python
40 Class Inheritance

Books Project – Getting Started with FastAPI
41 Books Project Introduction
42 VirtualENV Overview
43 FastAPI and VirtualENV Installation (Windows)
44 FastAPI and VirtualENV Installation (Mac)
45 FastAPI Project Swagger, HTTP Request Methods, and Status Codes Overview
46 FastAPI Project Swagger and HTTP Decorators

FastAPI Request Method Logic
47 Download Source Code
48 FastAPI Project Enhance Get Request
49 FastAPI Project Path Parameters
50 FastAPI Project Enumeration Path Parameters
51 FastAPI Project Enhance Path Parameters
52 FastAPI Project Query Parameters
53 FastAPI Project Post Request
54 FastAPI Project Put Request
55 FastAPI Project Delete Request

Books 2 Project – Move Fast with FastAPI
56 Books 2 Project Overview
57 FastAPI Project Setup Books 2 Project
58 FastAPI Project BaseModel
59 FastAPI Project Post Request BaseModel
60 FastAPI Project Fields – Data Validation
61 FastAPI Project Data Validation (cont)
62 FastAPI Project Add Books to BookList
63 FastAPI Project BaseModel Configurations
64 FastAPI Project Get Request (Books 2 Enhancement)
65 FastAPI Project Get By UUID
66 FastAPI Project Put Request (Books 2 Enhancement)
67 FastAPI Project Delete Request (Books 2 Enhancement)

HTTP Exceptions and Status Codes
68 FastAPI Project Raise HTTP Exception
69 FastAPI Project Custom HTTP Exception
70 FastAPI Project Response Models
71 FastAPI Project Status Code Response
72 FastAPI Project Form Fields
73 FastAPI Project Headers

Todos Project (Database)
74 Todos Overview
75 FastAPI Project Database Connection with ORM SQLAlchemy
76 FastAPI Project Database Tables (Models)
77 FastAPI Project Main (Create Database Connection for API)
78 FastAPI Project Installation of SQLite3 Terminal (Windows)
79 FastAPI Project Installation of SQLite3 Terminal (Mac)
80 FastAPI Project SQLite3 Setting Up Todos

Todos Project (API Request Methods)
81 FastAPI Project Get All Todos from Database
82 FastAPI Project Get Todo by ID
83 FastAPI Project Post Request (Todo Project)
84 FastAPI Project Put Request (Todo Project)
85 FastAPI Project Delete Request (Todo Project)

Todos Project (Authentication & Authorization)
86 JSON Web Token (JWT) Overview
87 FastAPI Project Create Database Table for Users
88 FastAPI Project Create Authentication & Post Request
89 FastAPI Project Hash User Password
90 FastAPI Project Save User to Database
91 FastAPI Project Authentication of a User
92 FastAPI Project JSON Web Token (JWT) Creation
93 FastAPI Project Decode a JSON Web Token (JWT)
94 FastAPI Project Custom HTTPException for Auth

Todos Project (Authenticate Requests)
95 What is Postman
96 Postman Installation (Windows)
97 Postman Installation (Mac)
98 Postman Overview
99 FastAPI Project Setting up Database with User and Todo Relationships
100 FastAPI Project Get Todo (User ID)
101 FastAPI Project Get Todo (ID + User ID)
102 FastAPI Project Post Todo (User ID)
103 FastAPI Project Put Todo (User ID)
104 FastAPI Project Delete Todo (User ID)

Production Database Setup (MySQL)
105 MySQL Introduction
106 FastAPI Project MySQL Installation (Windows)
107 FastAPI Project MySQL Installation (Mac)
108 FastAPI Project Create Database Tables
109 FastAPI Project Connect FastAPI to MySQL
110 FastAPI Project Create Data for MySQL

111 Routing Introduction
112 Download Routing Source Code
113 FastAPI Project – Authentication Routing
114 FastAPI Project – Todo Routing
115 FastAPI Project – Prefix Routing
116 FastAPI Project – External Routing
117 FastAPI Project – Dependencies Routing

118 Bonus Lecture