FastAPI For Busy Engineers

Go from Zero to Confident in ~half a day

Cover Image

Icon

Exactly What You Need to Get Up-To-Speed with FastAPI

Who Has Time for a 20 Hour Course?

No one busy. In this course, I promise to compress all the key principles, tactics and approaches I've learned from using FastAPI to get you up-to-speed with this web development framework...fast.

No Fluff

Check out the curriculum below to see what is covered:

  • All lectures have matching source code
  • All techniques are tried and tested in production
  • All carefully curated into a 4-hour bundle (note, not all lectures are complete yet)
  • Plenty of extra reading/material for those who wish to go deep down the rabbit hole.

Included in this course are weekly office hours where you can ask me any FastAPI (or general software development) questions for no extra charge

Icon

Curriculum

Introduction

Why Take This Course?
Curriculum
Pre-Requisites
All Lectures Slides & Notes
FastAPI Basics

Hello World with FastAPI
API Path Parameters
API Query Parameters
Pydantic Schemas
Error Handling
Serving HTML with Jinja Templates
Adding a Database

Theory
FastAPI & SQLAlchemy - DB Models
Data Access Layer
DB Migrations with Alembic
Bringing it all Together in the API Endpoints
Structuring FastAPI Projects

An Extensible Project Structure
FastAPI Async Capabilities

Async Theory
Adding an async endpoint & measuring performance
Auth with JSON Web Tokens (JWTs)

Auth Theory
Creating Users
Setting up Logins
Dependency Injection in FastAPI

Dependency Injection Theory
Hands-on Depends Example
Dependency Injection and Testing
Working with Frontends (React)

Architecture Intro
Frontend Code Overview
Home Page Code
React Auth Code
Profile Page Code
Deployment with Docker

Intro
Uvicorn & Gunicorn
Dockerizing the Backend (Local Setup)
Deploying the Backend to Heroku (Paas)
Deploying the Frontend to Heroku
Sending Emails, Background Tasks and Logging

Mailgun Intro
Email sending code
Config updates
Background Tasks
Logging

Chris Samiullah

Experienced Software Developer who has taught over 20,000 students.