The FastAPI SuperGuide: Create 3 Real-World FastAPI Apps

Learn FastAPI, Python, REST APIs, Bootstrap, SQLite, Jinja, and web security; all while creating 3 full-stack web apps!

4.25 (217 reviews)
Udemy
platform
English
language
Web Development
category
The FastAPI SuperGuide: Create 3 Real-World FastAPI Apps
2,199
students
7 hours
content
Jun 2022
last update
$74.99
regular price

What you will learn

Create 3 full-stack applications using FastAPI in Python and industry-standard practices

Use Jinja2, Bootstrap, HTML, and CSS to create front-end templates with control flow (conditionals, loops, etc.)

Fundamentally understand REST API architecture and how to implement REST APIs in FastAPI

Use database browsers and SQLAlchemy to create, manage, update, and parse SQLite databases

Create user authentication and registration logic with error handling

Understand HTTP, how it works, and how to make requests, including methods, headers, bodies, and status codes

Format programmatic data to include in front-end pages

Parse HTTP requests in python and extract relevant data, including parameters, form data, and request bodies

Validate HTTP routes and implement error handling in REST APIs and full-stack applications

Understand JSON and how to both parse and return it using Python

Use Pydantic and type hints to create data models and schemas in Python

Hash and verify passwords in Python

Create OAuth2 flows and use them to authenticate users

Create, manage, and update JSON Web Tokens

Create database models in Python

Use Alembic to migrate and update databases

Use SQLAlchemy to write functionality to interact with databases in Python

Learn best web development practices and conventions

Why take this course?

There is a lot that goes into full stack web development.

With databases, REST architecture, HTTP requests, OAuth2, and all the other protocols that go alongside full stack web development, it can be hard to learn, especially when coupled with a complicated framework like FastAPI and the nuanced parts of Python.

This course aims to eliminate that confusion by teaching FastAPI from the very basics to the advanced level. It combines theory and practical use to give you everything you need to learn FastAPI, all while allowing you to build 3 full-stack web applications written primarily in Python along the way.

Throughout the course, you will:

  • Create 3 full-stack applications using FastAPI in Python and industry-standard practices

  • Use Jinja2, Bootstrap, HTML, and CSS to create front-end templates with control flow (conditionals, loops, etc.)

  • Fundamentally understand REST API architecture and how to implement REST APIs in FastAPI

  • Use database browsers and SQLAlchemy to create, manage, update, and parse SQLite databases

  • Create user authentication and registration logic with error handling

  • Understand HTTP, how it works, and how to make requests, including methods, headers, bodies, and status codes

  • Format programmatic data to include in front-end pages

  • Parse HTTP requests in python and extract relevant data, including parameters, form data, and request bodies

  • Validate HTTP routes and implement error handling in REST APIs and full-stack applications

  • Understand JSON and how to both parse and return it using Python

  • Use Pydantic and type hints to create data models and schemas in Python

  • Hash and verify passwords in Python

  • Create OAuth2 flows and use them to authenticate users using FastAPI logic

  • Create, manage, and update JSON Web Tokens

  • Create database models in Python and use them with FastAPI routes

  • Use Alembic to migrate and update databases

  • Use SQLAlchemy to write functionality to interact with databases in Python

  • Learn best web development practices and conventions

  • And much more!

And the best part is; you don't have to know anything about FastAPI, web routing, security, or any of the above. All you need is a basic understanding of Python and some familiarity with HTML and CSS, and you will be on your way to becoming a master of full stack web development in Python and FastAPI!


The curriculum takes a comprehensive look at both FastAPI and the technologies needed to build it. Before we start building any apps, we take a look at the basics of Python, including:

  • Type hints

  • Pydantic models

  • Nuanced Python features that make development much easier, such as virtual environments.

At the end of section, there is a coding exercise and quiz that incorporate all content covered to ensure understanding.


Once the basics are covered, we start by building the first of three full stack web applications. In the first app, we focus on the basics of FastAPI by teaching:

  • REST API architecture

  • Jinja2

  • Bootstrap

  • HTML templating

  • The foundational FastAPI skills needed to get a basic application up and running.

Along the way, we will be building a car information viewer that lets you view, search, create, edit, and delete information about cars, all delivered in a clean and readable codebase using Python and FastAPI.

The home page contains a list of all the cars in our database, which is neatly formatted and displayed to the user in a gridlike manner.

The navbar contains working links to the home page, a form to create a car (more on that later!), and an embedded search bar which, when used, takes you to a search page.

The search form uses IDs to search the database for cars, and displays them to the user. It also contains error handling in case an invalid ID is passed to the user.

Each car on the page has edit and delete buttons, with the edit button taking you to an auto-filled form on a separate page to edit the data, and the delete button passing a request to a hidden route that removes it from the database.

The create form is identical to the edit form, except it has no auto-filled data. When completed, it will redirect to the home page, where the newly created car will be available to view.


The second app focuses on web security, incorporating:

  • OAuth2 flows and schemes

  • Password hashing

  • JSON web tokens

  • FastAPI-specific authentication systems

  • And industry-standard practices into a main FastAPI application written in Python.

This will be built around a social media feed that uses login and registration functionality to display user information under a protected page.

The home page is available to everyone, and contains some basic text prompting the user to login. The navbar contains links to a login, registration, and logout page, all with custom error messaging to ensure new users are unique and attempted logins are properly authenticated.

The protected page contains data about the user which is displayed in a responsive grid to the user. This displays user information, friends, and notifications.

The logout feature removes any of the authentication applied to the web session and redirects to the homepage.


The third app focuses on databases, using SQLite and SQLAlchemy to build and model databases in Python and FastAPI. You will also learn to use Alembic in combination with SQLAlchemy to perform database migrations and updates.

These topics will be built around a todo list that combines user login with SQLite databases to create a full stack web application, incorporating all the elements of FastAPI, Python, OAuth2, and all the other practices learned up to that point.

Similar to the second app, the homepage is available to everyone and prompts the user to log in.

The login, registration, and logout features use the same FastAPI logic to handle authentication as the previous app, except this time, data is being pulled from a real SQLite database. This is combined with past knowledge to create authentication that works with FastAPI.

The todo page contains a list of all the tasks that pertain to the user. At the bottom of the list is a form that lets you add a new task, which sends a request to a route that handles parsing and adding the task to the user's list of tasks through advanced, FastAPI-specific Python logic.


So, are you ready to start crushing web development and building full stack web applications in FastAPI and Python? Enroll and start your FastAPI journey today!

Screenshots

The FastAPI SuperGuide: Create 3 Real-World FastAPI Apps - Screenshot_01The FastAPI SuperGuide: Create 3 Real-World FastAPI Apps - Screenshot_02The FastAPI SuperGuide: Create 3 Real-World FastAPI Apps - Screenshot_03The FastAPI SuperGuide: Create 3 Real-World FastAPI Apps - Screenshot_04

Reviews

Troy
February 28, 2023
yes, fast paced and to the point as I was hoping. for some steps, instructions are completely skipped, which is fine, but would be nice to have a quick word that we are skipping over them
Ryan
February 26, 2023
Jad has a great pace to his instruction. Everything is very clear and well explained. I am interested in what I will do with FastAPI next. Thanks for taking the time to make this course.
CHEW
January 29, 2023
The course is quite fast, so I have had to rewatch quite a few lessons quite a few times. Overall the content is good, but teaching it at a slower pace would be even better for me.
Dave
August 8, 2022
The guy is fantastic teaching. And could be even better if he would explain the conplicated stuff not just by talking but also with some visual helpers like schems, picturess or diagrams. Hope he keeps publishing good content on the python world.
Xiaoshan
May 27, 2022
On average it's good, but if the cousrse can focusing on FastAPI more instead of going through the css and Bootstrap in details, it would be better.
Cruz
May 24, 2022
Bit fast, not just they way he talks, he doesnt take the time to explain the concept and the code. Not for beginner to intermediate level, you will need some experience to be able to follow him.
Scott
April 22, 2022
I wish I could leave, like, a 4.7. The course was very good, but there were a couple of misses that would have made it a 5-star. I do highly recommend the course, you will learn a lot.
Ed
April 8, 2022
I've scored this 3.5 which is akin to average/good. I would lean more towards good but let's cover what's average and why a mid-table rating. The first two projects although introductory do not teach good coding practices. It's ok to say this is a beginners course but it's unlikely a true beginner would pick fastAPI course as a first intro, therefore, some coding exposure is relatively safe to assume. The final project again has a mix of concerns all in the main file, this is scrappy mixing auth and functional routes in the main file, these auth and tasks should be behind a router and include the routers in the project. If you used this code in a PR it would likely fail with comments, if you used this project in a technical interview you might get a fail because of the 'toy' elements to the app therefore it is important to recognize you're being toured around a library here rather than taught how to implement a production-grade application with it. The teacher is certainly capable so to take this course up to great and 5 stars, several more hours would be required to make this a production grade application and an absolute go-to resource. The instructor was clear and enjoyable and so that made it all the more disappointing this was really really basic level. He did respond very timely to Q&A questions thugh which is very commendable. I would buy another course from the instructor but only after checking it really was more of a deep dive and a true portfolio grade piece was the outcome. In short enjoyable but don't expect this to be a deep dive.
Nir
February 8, 2022
the course is good, but it is not a good match for me. I am interested in building fastapi server , that will have a clean API for clients, and not that will serve HTML pages. so currently I am not learning to build the API I wanted and I waste time watching how to create html pages :(
Diego
December 17, 2021
Soy latino y aunque estuvo en ingles, no fue dificil entender lo que explicaba el profesor. Muchas gracias por este curso!, ahora a seguir practicando ! pd: estare esperando otro curso de FASTAPI :)
MICHAEL
December 9, 2021
The best, and most rare aspect, of this tutorial (as compared to others), is the clarity with which the instructor, Jad, explains both the general (macro) concepts, in a way that elucidates the specific (micro) concepts. Though I've purchased two other FASTAPI courses, this course is my 'go-to' for grasping the basics. The delivery of instruction makes coding concepts understandable for beginners.
Edward
November 15, 2021
The course content is precise and the instructor is knowledgeable and explains very well. He breaks it down and gives practice examples so that you understand.

Charts

Price

The FastAPI SuperGuide: Create 3 Real-World FastAPI Apps - Price chart

Rating

The FastAPI SuperGuide: Create 3 Real-World FastAPI Apps - Ratings chart

Enrollment distribution

The FastAPI SuperGuide: Create 3 Real-World FastAPI Apps - Distribution chart
4252750
udemy ID
8/20/2021
course created date
11/11/2021
course indexed date
Bot
course submited by