Skip to main content
CourseFlix

Complete FastAPI REST course + AWS + Emails + Payments

9h 38m 51s
English
Paid

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.

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!

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 103 lessons

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
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

Course content

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

Related courses

  • LeetCode In Python: 50 Algorithms Coding Interview Questions thumbnail

    LeetCode In Python: 50 Algorithms Coding Interview Questions

    By: Udemy
    In this course, you'll have a detailed, step by step explanation of 50 hand-picked LeetCode questions where you'll learn about the most popular techniques and p
    19 hours 36 minutes 13 seconds
  • Rock Solid Python with Python Typing Course thumbnail

    Rock Solid Python with Python Typing Course

    By: Talk Python Training
    When Python was originally invented way back in 1989, it was a truly dynamic and typeless programming language. But that all changed in Python 3.5 when type "hi
    4 hours 27 minutes 54 seconds 5 / 5
  • The Automation Bootcamp: Zero to Mastery thumbnailFree

    The Automation Bootcamp: Zero to Mastery

    By: Zero To Mastery
    Become an automation expert with hands-on projects using Python. No experience needed to automate boring tasks. Learn advanced tools and tricks.
    22 hours 39 minutes 15 seconds 5 / 5

Frequently asked questions

What is Complete FastAPI REST course + AWS + Emails + Payments about?
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…
Who teaches Complete FastAPI REST course + AWS + Emails + Payments?
Complete FastAPI REST course + AWS + Emails + Payments is taught by Udemy. You can find more courses by this instructor on the corresponding source page.
How long is Complete FastAPI REST course + AWS + Emails + Payments?
Complete FastAPI REST course + AWS + Emails + Payments contains 103 lessons with a total runtime of 9 hours 38 minutes. All lessons are available to watch online at your own pace.
Is Complete FastAPI REST course + AWS + Emails + Payments free to watch?
Complete FastAPI REST course + AWS + Emails + Payments is part of CourseFlix's premium catalog. A CourseFlix subscription unlocks the full video player; the course description, table of contents, and preview information are available to everyone.
Where can I watch Complete FastAPI REST course + AWS + Emails + Payments online?
Complete FastAPI REST course + AWS + Emails + Payments is available to watch online on CourseFlix at https://courseflix.net/course/complete-fastapi-rest-course-aws-emails-payments. The page hosts every lesson with the integrated video player; no download is required.