FastAPI 101

Build professional APIs using FastAPI, including testing, background tasks, user authentication, and more!

Instructor profile picture
Jose Salvatierra
Founder of Teclado
Man at a computer
C / 001 Description

Do you want to build APIs using Python? I'll show you how.

The developer experience and speed of development with FastAPI means you can build a complete, high-performance API in days, and adding new features is blazing-fast.

In this course, I'll show you how to build a social media API with user authentication. Users will be able to register and log in using Bearer (JWT) tokens. They will be able to create posts, leave comments, and like existing posts.

You'll learn how to use background tasks in FastAPI to improve performance when running slow code, such as when sending emails (which we also do).

Throughout the course we use an async database library, again to maximise performance, which is nonetheless straightforward to use. You'll learn about the different types of data relationships and how to model them.

I'll also show you how to handle file uploads and how to store them securely in a third party service, so you don't use up your own server space.

Finally, 100% of the code in this course has tests. You'll use pytest extensively to write integration and unit tests for the API. You'll learn about pytest fixtures, parametrization, and testing conventions. You'll also learn extensively about logging using the built-in Python module.

Of course, I'll show you how to deploy your FastAPI app using popular service Render.com. I'll share how to do it for free, and also how to improve performance and developer experience by going with paid options.

If you use or want to use FastAPI, this course contains everything you need to develop complete, professional-grade APIs!

C / 002 What you'll learn

Gain broad experience with FastAPI

Understand how to test FastAPI apps using Pytest with 100% test coverage

Become a master of logging with the built-in logging module

Add user authentication with password hashing and Bearer tokens

Use an async SQL database and model one-to-many and many-to-many relationships

Send user emails when they register without a performance hit using background tasks

Handle file uploads and store them in a third-party service

Deploy your FastAPI apps to the cloud using Render.com

C / 003 Prerequisites

Python fundamentals

(optional) SQL basics

C / 004 Course content

6 More Sections

C / 005 Instructor
Teclado Logo

Jose Salvatierra

Hi, I'm Jose! I love helping students learn to code and master software development. I've been teaching online for over 7 years, and I founded Teclado to bring software development to everyone—my objective is for you to truly understand everything that goes on behind the scenes.

C / 006 FAQs

How does the course work? When does it start and end?

This is an on-demand video course with supporting text and code. This course builds a complete FastAPI project. We recommend you watch the video, read the supporting text, and then try to replicate what the video covers in your own project. That way by the end of the course, you'll have the project you've coded yourself!

Do I get lifetime access if I buy the course?

If you purchase the course, you'll get lifetime access to it. If you access the course via the Teclado subscription, you'll have access to the course for as long as you keep your subscription active.

Is this course suitable for beginners?

This course is a bit fast paced for complete beginners. We recommend you have good knowledge of Python before tackling this course. Our free 30 Days of Python course should give you a good start!

What tools and technologies are used in this course?

This course uses FastAPI, pytest, encode/databases, SQLAlchemy, the Python logging module, passlib, Mailgun, Backblaze B2, and a multitude of other Python libraries to go along with these, as well as several external APIs.

What support is available while taking the course?

Our Discord student community is the best place to get help with the course content. How to gain access is detailed inside the course. Alternatively it's always a good idea to try to find your own answers by using platforms such as StackOverflow (since that's what you'd do in a real-world job).

Is this course available on Udemy? How is it different from buying it here?

This course is available on Udemy, but there are a couple benefits to buying here on Teclado: the videos are of higher quality, and each lecture comes with accompanying instructional text and code. Also, this course is part of our all-course subscription, so if you are a subscriber you already have access to this course!