Skip to main content

Complete FastAPI REST course + AWS + Emails + Payments

9h 38m 51s
English
Paid

Course description

Starting with a new framework is easy. Mastering it is hard. Learning by doing is the most successful way to gain your skills on a given topic quick and easy.

In this course, we will create a complete project with FastAPI, following the best programming principles. We will integrate third-party services and libraries so that we can be as close as possible to real-world application tasks, will incorporate ready Frontend project.

Read more about the course

We will implement advanced tasks such as:

  • Integrate AWS S3 service for storing files

  • Integrate Amazon Simple Email Service for sending emails from our code

  • Integrate "Wise" Payment Provider to refund the users of our application.

The application will have different levels of access - users (complainers), approvers, and admins.

We will implement JWTauthentication, and authorization.

We will work with schemas to validate our input data and shape the response data.

We will implement all of these, and at the same time, we will follow best practices for formatting the code and using a version control system.

We will integrate a ready frontend project (written in Angular 2+) to understand better how our backend is working.

We will use a relational database (PostgreSQL) to store our information.

All the materials are created so that you can interact with them and enjoy the overall course experience.

All materials are downloadable. As a bonus to this course, you will receive a book for each section, with copy-pastable code and explanations.

You will have access to the GitHub repo with all code shown in the course.

Let's start!

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 103 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Complete FastAPI REST course + AWS + Emails + Payments

0:00
/
#1: Introduction

All Course Lessons (103)

#Lesson TitleDurationAccess
1
Introduction Demo
02:09
2
Example
06:34
3
Introduction
00:30
4
Relational database (quick refresh)
02:43
5
Non-relational (quick refresh)
02:16
6
SQL, ORM, Models (quick refresh)
03:59
7
What is CRUD? (quick refresh)
01:36
8
The task
00:46
9
Setup the IDE
03:03
10
Create the first table
06:39
11
Create the endpoints
08:36
12
Test the application with Postman
01:47
13
Test the application with Postman (common problems)
04:22
14
Test the endpoints
03:30
15
Alembic
07:31
16
Create One-to-many
04:24
17
Adjust the endpoints and queries
06:30
18
Create Many-to-many
06:11
19
The .env file
03:07
20
Step by step guide
00:53
21
Introduction
00:38
22
The skeleton
11:29
23
Input (request) schema for user sign in
09:21
24
Validation with class method
07:32
25
Validation with custom field
03:52
26
Output (response) schema for user sign in
10:01
27
BONUS - hashing passwords
04:38
28
Introduction
00:41
29
JWT (quick refresh)
02:46
30
Authentication vs Authorization
03:14
31
Code example
01:32
32
Encode token
04:43
33
Return the token + common errors
05:35
34
Authentication - Custom HTTPBearer class
08:51
35
Create protected endpoint for "get all clothes"
11:27
36
Add role to the user model
04:47
37
Adjusting the migration for the user role
03:09
38
Authorization
10:51
39
What and why?
02:49
40
Standards
17:45
41
Black
03:11
42
KISS
02:16
43
DRY
01:10
44
SoC
01:24
45
SOLID
06:17
46
Project diagram
05:30
47
Introduction
06:56
48
Set up user model and db config
15:15
49
Complaint model
06:35
50
Set up alembic and secrets
09:45
51
Adjust and refactor existing models
01:56
52
Authentication manager
10:46
53
User manager and register functionality
12:56
54
Configure routes
02:52
55
Configure main.py
02:24
56
Login
04:16
57
User schemas
03:26
58
Test the app - fix common errors
08:08
59
Add phone column, migrate and test
08:29
60
Complaint manager
06:40
61
Complaint schemas
04:39
62
Authorization functions
01:57
63
List/Create Complaint endpoints
06:35
64
Bind routes and test
03:19
65
Get the complainer from request
03:15
66
Admin Part - delete complaint
06:13
67
Admin Part - get/search users
06:31
68
Admin Part - user schema
03:15
69
Admin Part - change other users role
05:27
70
Script for creating users on the server
09:14
71
Approver Part - approve/reject complaints
07:23
72
Working with Git + tips and tricks for more quality code
11:33
73
CORS
03:15
74
Next steps
01:24
75
What is a third party
01:20
76
Famous services
04:39
77
About the payment provider
01:40
78
Set up AWS account and choose free plan
03:25
79
Set up your bucket and permissions
04:55
80
Edit bucket policy
01:08
81
Fetch credentials
04:58
82
Encode the base64 encoded photo
11:11
83
Set up the s3 Service
08:52
84
Integrate the functionality in the code and test manually
15:48
85
Set up SES and verify your identities
03:23
86
Set up SES Service
08:17
87
Integrate SES functionality in the existing code and test manually
04:50
88
Set up Wise account
03:14
89
Get the API key
02:16
90
Create Wise Service and get the profile id
08:39
91
The response structure
03:45
92
Create a quote
09:45
93
Create recipient account
07:29
94
Create transfer
05:36
95
Fund the transfer
06:15
96
Add transaction table
06:54
97
Integrate Wise for creating complaint
07:03
98
Test manually
04:44
99
Integrate Wise for approving complaint
06:38
100
Integrate Wise for rejecting a complaint
07:08
101
Database transactions
10:14
102
FE integration
17:03
103
Many thanks
00:43

Unlock unlimited learning

Get instant access to all 102 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Introduction to Excel Automation: Excel Macros and VBA

Introduction to Excel Automation: Excel Macros and VBA

Sources: zerotomastery.io
Studying macros and VBA (Visual Basic for Applications) for Excel is an indispensable skill for anyone who regularly works with data, performs repetitive tasks.
2 hours 44 minutes 10 seconds
Effective PyCharm (2021 edition)

Effective PyCharm (2021 edition)

Sources: Talkpython
PyCharm is the premier Python IDE (integrated development environment). You will be hard pressed to find an editor that gives a more holistic way to build Python applications. W...
7 hours 30 minutes 43 seconds
Introduction to AI Agents

Introduction to AI Agents

Sources: DAIR.AI
This course is dedicated to creating effective and complex AI agents. Students will study the main components for developing AI agents and best practices for...
1 hour 39 minutes 43 seconds
Stripe Payments Cloud Functions

Stripe Payments Cloud Functions

Sources: fireship.io
This course has been deprecated! While the code here will still work, the it is recommended that you use the latest Stripe APIs shown in the new.
1 hour 10 minutes 33 seconds