We may earn an affiliate commission when you visit our partners.
Sourabh Sinha

This course is a guide to learn FastAPI. The FastAPI documentation is one of the best documentation. This course is for students who love videos as a medium to learn. We will be learning FastAPI with best practices. The Test-Driven Development goat ? will guide our development process. TDD is the way to think of the code before we actually write a piece of code. In this course we will be learning the following core concepts:

Read more

This course is a guide to learn FastAPI. The FastAPI documentation is one of the best documentation. This course is for students who love videos as a medium to learn. We will be learning FastAPI with best practices. The Test-Driven Development goat ? will guide our development process. TDD is the way to think of the code before we actually write a piece of code. In this course we will be learning the following core concepts:

  • Creating APIs : We will implement the below endpoints:

    • Create

    • Retrieve

    • Update

    • Delete

    • List Blogs

  • User Authentication with basic security

    • Password will be hashed to provide additional security

    • We will use JSON Web Tokens to authenticate

    • Tokens won't be stored in LocalStorage or Cookies

    • Token will be stored in HttpOnly cookie

  • Version Control System

    • We will use GIT as our Version Control

    • Github will be used to host our code

  • Creating web apps

    • We will use Jinja Templating Language

    • We will be working with several forms

  • Unit Testing

    • Tests will be written in Pytest

    • After each testing cycle, the Test database will be cleaned

    • Test Coverage

    • How not to write unit tests?

  • Permissions: A user who has not created the blog, won't be able to delete it.

  • We will work with Postgres and monitor it using PgAdmin.

Fastapi provides us with built-in OpenAPI docs, we will use the documentation to the fullest. The docs help backend and frontend developers collaborate easily with each other.

Enroll now

What's inside

Learning objective

Learn to develop an api as well as webapp using fastapi with best practices and unit testing.

Syllabus

Introduction
Project Demonstration

Understanding the course structure and setting up our system.

Github Repo. and exact version of Packages used
Read more
Technology Stack for the Course
Initial Configurations for the Project
Hello FastAPI
HTTP Verbs and Usage
Refactoring Project Configuration Variables
Using GIT and Github
Test Your Understanding
FastAPI Prerequisites (OPTIONAL)
FastAPI Prerequisites
Type Hints in Python
Advanced Type Hints in Python
Iterators and Generators in Python
Practice Generators
Multiple Inheritance for Pydantic (Optional)
Introduction to Pydantic
Custom Validation with Pydantic
Dependency Injection (Function based + Parameterized)
Dependency Injection for Unit Tests
Asynchronous Programming in Python
Async Programming: Generate numbers asynchronously
We will learn to create database, tables, pydantic schemas. We will also use dependency injection to get database session. Finally, we will be learning hashing to hash Passwords.
Section Introduction
Configuring database secrets as Environment variables.
Connecting to Postgres Database
Connecting to SQLite database (OPTIONAL)
Setting up Alembic for Database Migration
Creating Table Models with SQLAlchemy
Pydantic Schema for User Registration
Dependency Injection to get a Database Session
Introduction to Password Hashing
Implementation of Hashing
Build secure api endpoints with fastapi
Section 3 Intro
User Create Route
Response Model and Status Code
Create Blog
Retreive a Blog
Retreive all Blogs
Updating a Blog
Delete a Blog
Practicing RAW SQL Queries
Use pytest to test application routes with fixtures and dependency injection.
Unit Test Principles
Pytest Configration File
Pytest Configration and first Unit test
JWT based fastapi authentication.
Introduction to JWT
JWT token creation
Authentication with Json Web Token
Authorization in FastAPI
Learn to build a webapp using fastapi
Section Intro
Serving HTML with FastAPI
Serving Navbar as Common Resource
Serving StaticFiles
Blog List View
Blog Detail View
User Registration with Form
Login Functionality in Webapp

Save this course

Save FastAPI Full Stack Web Development to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in FastAPI Full Stack Web Development with these activities:
Review Python Type Hints
Reviewing Python's type hinting system will make understanding FastAPI's data validation and dependency injection much easier.
Browse courses on Python Basics
Show steps
  • Read the official Python documentation on type hints.
  • Practice writing functions with type hints.
  • Experiment with different type hint annotations.
Read 'Python Crash Course'
Reading a Python fundamentals book will help solidify your understanding of the language before learning FastAPI.
Show steps
  • Read the first half of the book covering basic Python concepts.
  • Complete the exercises at the end of each chapter.
  • Focus on chapters related to functions and data structures.
Practice SQL Queries
Practicing SQL queries will help you understand how to interact with the database in your FastAPI application.
Show steps
  • Set up a local PostgreSQL database.
  • Create tables and insert sample data.
  • Write SQL queries to retrieve, update, and delete data.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Build a Simple CRUD API
Building a simple CRUD API will allow you to apply the concepts learned in the course and solidify your understanding of FastAPI.
Show steps
  • Define the API endpoints (Create, Read, Update, Delete).
  • Implement the API logic using FastAPI.
  • Test the API endpoints using a tool like Postman.
Read 'Test-Driven Development with Python'
Reading a book on TDD will help you write better unit tests for your FastAPI applications.
Show steps
  • Read the chapters on TDD principles and practices.
  • Follow the examples and implement the code yourself.
  • Adapt the TDD techniques to your FastAPI projects.
Write a Blog Post on FastAPI Authentication
Writing a blog post will help you consolidate your knowledge of FastAPI authentication and share it with others.
Show steps
  • Research different authentication methods in FastAPI.
  • Choose a specific method (e.g., JWT) and explain it in detail.
  • Provide code examples and explanations.
  • Publish the blog post on a platform like Medium.
Contribute to a FastAPI Open Source Project
Contributing to open source will give you valuable experience working with a real-world FastAPI project and collaborating with other developers.
Show steps
  • Find a FastAPI open source project on GitHub.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete FastAPI Full Stack Web Development will develop knowledge and skills that may be useful to these careers:

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in FastAPI Full Stack Web Development.
Provides a comprehensive guide to test-driven development (TDD) in Python, using Django as a practical example. While the course uses Pytest, the principles of TDD remain the same. Understanding TDD will help you write more robust and maintainable FastAPI applications. This book is valuable as additional reading to reinforce the TDD concepts introduced in the course.
Provides a solid foundation in Python programming, covering essential concepts like data structures, functions, and object-oriented programming. It's particularly helpful for beginners or those looking to refresh their Python skills before diving into FastAPI. The project-based approach allows you to apply your knowledge in practical scenarios. While not specific to web development, it builds a strong base for understanding FastAPI concepts.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser