We may earn an affiliate commission when you visit our partners.
Course image
Christopher Samiullah

Do you really want another 20-hour course (which will probably gather dust)? This is the no-fluff alternative you've been searching for. Go from zero to confident with FastAPI in a single morning - and keep a reference guide you will return to time and again.

Read more

Do you really want another 20-hour course (which will probably gather dust)? This is the no-fluff alternative you've been searching for. Go from zero to confident with FastAPI in a single morning - and keep a reference guide you will return to time and again.

I've got skin in the game: I run my own SaaS platform on FastAPI, and have run it in production for multiple significant client projects.

This course covers all key areas you need quickly. That means it's an intermediate course - there's no "Python syntax basics" or "what is a REST API" filler. It's right into FastAPI and very much "we're all adults here", with references and additional reading for those who want to go deep down the rabbit hole. That doesn't mean I gloss over important details, quite the opposite.

The whole course is entirely project-based and will take you through all the key elements of a production-ready FastAPI application:

  • Endpoint Basics

  • Working with Pydantic

  • Error Handling

  • Serving HTML with Jinja2 Templates

  • Working with a Database (SQLite and Postgres) via ORM (SQLAlchemy) & DB migrations (alembic)

  • How to Structure Your FastAPI Projects for Production

  • Setting Up Auth (JWT)

  • Unlocking Async Performance

  • FastAPI's Dependency Injection Framework + Testing

  • Working with Frontends (React)

  • Dockerizing FastAPI

  • Deployment

  • Sending emails via Background Tasks

  • Setting up logging for production

  • Other FAQ

Everything is taught through an example project which has 100% code coverage on github.

You will build a realistic web application, including an integrated React frontend. You will also learn how to deploy it.

If you've used Flask, Django, Pyramid etc. and want to quickly get up to speed with FastAPI then this course is ideal for you. It will also well-suit those who have used Ruby on Rails, Spring Boot, ExpressJS, CakePHP or other web development frameworks and know Python basics.

Enroll now

What's inside

Learning objectives

  • Create & deploy production ready apis using the fastapi framework
  • Develop a deep understanding of the principles and capabilities of fastapi
  • Acquire the skills to be productive with fastapi quickly
  • Increase your career prospects with a highly in-demand skill
  • Fastapi endpoint validation with pydantic
  • Error handling
  • Serving html with jinja2 templates
  • Working with fastapi and a database (including migrations)
  • Structuring large projects
  • Performance with async
  • Auth with jwt
  • Integrating with react
  • Deploying fastapi
  • Emails & background tasks
  • Show more
  • Show less

Syllabus

Introduction
Course Intro
Course Curriculum
Course Requirements - *Do not skip*
Read more
Course Codebase and Lecture Notes
Learn the basics of FastAPI
Managing Dependencies with Poetry
Clone the course project repo
[WINDOWS ONLY] - Poetry Installation and Usage
Hello World with FastAPI
API Path Parameters
FastAPI Basics - Query Parameters
API Query Parameters
Understand how Pydantic works with FastAPI
Using Pydantic Schemas with FastAPI
Assignment 1: Add PUT and DELETE endpoints to the example project (recipes)
Understand how to do error handling in FastAPI
Error Handling
Learn how to serve web pages with Jinja2 templates in FastAPI
Serving HTML with Jinja2 Templates
Learn how to use a database with FastAPI
Database Theory
FastAPI & SQLAlchemy - DB Models
Data Access Layer
[WINDOWS ONLY] - Prestart script
DB Migrations with Alembic
Bringing it all Together in the API Endpoints
How to structure your FastAPI apps for scalability and maintainability
An Extensible Project Structure
How to use async performance in FastAPI
Async Theory
Hands-on Async Example
How to setup auth with FastAPI
Auth Theory
Creating users
Setting up logins
Understand how to use the FastAPI dependency injection framework
Dependency Injection Theory
Dependency Injection Hands-on Example
[Optional] - Pytest Refresher
Dependency Injection & Testing
How to use React with FastAPI
Frontend Architecture Overview
Frontend Codebase Overview
React Homepage Code
React FastAPI Auth
React Profile Code
How to deploy FastAPI with containers
[OPTIONAL: Docker Basics Recap]
Uvicorn & Gunicorn for Production Deployment
Dockerizing FastAPI and Running Locally
Deploying the Dockerized Backend to Heroku
Deploying the Frontend to Heroku
Send emails as background tasks from the FastAPI application and setup logging for production use
Intro to Mailgun and demo
Email sending code
Updating the Config
Adding a Background Task
Setting up logging
Answer any remaining questions
FAQs
Troubleshooting
Complete the course
Congratulations!

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches Pydantic, which is used for fast and secure data validation in web development
Utilizes JWT for authentication, an industry-standard for secure user authentication
Builds a realistic web application with an integrated React frontend for hands-on experience
Covers key concepts like error handling, database integration, and async performance for a well-rounded understanding
Suitable for learners familiar with Python basics and concepts of REST APIs
Requires Poetry for dependency management, which may not be familiar to all learners

Save this course

Save FastAPI for Busy Software Engineers 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 for Busy Software Engineers with these activities:
Review Python Basics
Ensure a strong foundation by reviewing basic Python concepts.
Browse courses on Python
Show steps
  • Go through online tutorials or documentation on Python basics.
  • Practice writing simple Python programs.
Explore FastAPI Documentation and Tutorials
Supplement your course knowledge by delving into official FastAPI documentation and tutorials.
Show steps
  • Visit the FastAPI website and read the documentation.
  • Follow along with video tutorials on YouTube or other platforms.
Attend a FastAPI Webinar or Meetup
Connect with other FastAPI enthusiasts and experts through live events.
Show steps
  • Check for upcoming webinars or meetups related to FastAPI.
  • Register and attend the event.
Eight other activities
Expand to see all activities and additional details
Show all 11 activities
Join a FastAPI Study Group or Forum
Connect with other FastAPI learners to exchange ideas, ask questions, and enhance your understanding.
Show steps
  • Join an online forum or discussion group dedicated to FastAPI.
  • Engage in discussions, ask questions, and share your knowledge.
Code challenges
Practice writing and testing FastAPI code to reinforce your understanding of the concepts taught in the course.
Browse courses on FastAPI
Show steps
  • Find a list of FastAPI code challenges online.
  • Attempt to solve the challenges on your own.
  • Review your solutions against the provided answers.
Practice FastAPI Endpoints
Reinforce your understanding of FastAPI endpoint creation and usage.
Browse courses on Web Development
Show steps
  • Create a new FastAPI project.
  • Define a new endpoint that returns a simple message.
  • Test the endpoint using a tool like Postman or curl.
Build a FastAPI blog application
Create a real-world application to apply your FastAPI skills and gain experience with full-stack development.
Browse courses on Full-stack Development
Show steps
  • Follow a tutorial to build a basic FastAPI blog application.
  • Enhance the application by adding features such as authentication, user roles, and a comment system.
  • Deploy your application to a cloud platform.
Work with FastAPI and SQLAlchemy
Enhance your FastAPI skills by connecting to a database using SQLAlchemy.
Browse courses on SQLAlchemy
Show steps
  • Install the SQLAlchemy library.
  • Define database models using SQLAlchemy.
  • Create FastAPI endpoints that interact with the database.
  • Test the database integration.
Write a blog post about FastAPI
Share your knowledge and insights about FastAPI by creating a blog post that covers advanced concepts, best practices, or case studies.
Browse courses on Technical Writing
Show steps
  • Choose a topic that you're knowledgeable about.
  • Research and gather information from reputable sources.
  • Write a well-structured and engaging blog post.
  • Publish your blog post on a platform like Medium or Dev.to.
Write a Blog Post or Article on FastAPI
Solidify your understanding of FastAPI by creating a written resource that shares your knowledge with others.
Browse courses on Content Creation
Show steps
  • Choose a specific aspect of FastAPI to focus on.
  • Research and gather information from various sources.
  • Write a clear and concise article or blog post.
  • Share your content online or submit it to a publication.
Contribute to FastAPI Open-Source Projects
Gain practical experience and contribute to the FastAPI community by working on open-source projects.
Browse courses on Community Involvement
Show steps
  • Identify open-source projects related to FastAPI on platforms like GitHub.
  • Choose a project to contribute to.
  • Follow the project's contribution guidelines.
  • Submit a pull request with your contributions.

Career center

Learners who complete FastAPI for Busy Software Engineers will develop knowledge and skills that may be useful to these careers:
API Developer
API Developers are responsible for designing and developing APIs. This course can help aspiring API Developers build a strong foundation in API development by teaching them how to build FastAPI applications. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop APIs for a variety of applications.
Backend Developer
Backend Developers are responsible for designing and developing the back end of websites and applications. This course can help aspiring Backend Developers build a strong foundation in the back end by teaching them how to build FastAPI applications. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop the back end of web applications and services.
Web Developer
Web Developers are responsible for designing and developing websites. This course can help aspiring Web Developers build a strong foundation in the back end by teaching them how to build FastAPI applications. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop the back end of websites and web applications.
Full-Stack Developer
A Full Stack Developer is a software engineer who is able to work on the front end and back end of a website or application. This course can help aspiring Full Stack Developers develop a strong foundation in the back end by teaching them how to build FastAPI applications. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop the back end of web applications and services.
Software Engineer
Software Engineers are responsible for designing, developing, and maintaining software applications. This course can help aspiring Software Engineers build a strong foundation in the back end by teaching them how to build FastAPI applications. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop the back end of software applications.
Data Scientist
Data Scientists are responsible for analyzing data to extract insights and make predictions. This course can help aspiring Data Scientists build a strong foundation in data science by teaching them how to use FastAPI to build APIs that can be used to analyze and process data. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop APIs that can be used to analyze and process data.
Machine Learning Engineer
Machine Learning Engineers are responsible for designing and developing machine learning models. This course can help aspiring Machine Learning Engineers build a strong foundation in machine learning by teaching them how to use FastAPI to build APIs that can be used to train and deploy machine learning models. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop APIs that can be used to train and deploy machine learning models.
Data Engineer
Data Engineers are responsible for designing and developing data pipelines. This course can help aspiring Data Engineers build a strong foundation in data engineering by teaching them how to use FastAPI to build APIs that can access and manipulate data. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop data pipelines that can be used to analyze and process data.
DevOps Engineer
DevOps Engineers are responsible for bridging the gap between development and operations. This course can help aspiring DevOps Engineers build a strong foundation in DevOps by teaching them how to use FastAPI to build APIs that can be used to automate and manage infrastructure. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop APIs that can be used to automate and manage infrastructure.
Cloud Engineer
Cloud Engineers are responsible for designing and managing cloud infrastructure. This course can help aspiring Cloud Engineers build a strong foundation in cloud engineering by teaching them how to use FastAPI to build APIs that can be used to manage cloud infrastructure. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop APIs that can be used to manage cloud infrastructure.
Security Engineer
Security Engineers are responsible for designing and implementing security measures to protect data and systems. This course can help aspiring Security Engineers build a strong foundation in security engineering by teaching them how to use FastAPI to build APIs that are secure. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop APIs that can be used to protect data and systems.
Product Manager
Product Managers are responsible for planning and managing the development of products. This course can help aspiring Product Managers build a strong foundation in product management by teaching them how to use FastAPI to build APIs that can be used to manage products. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop APIs that can be used to manage products.
Business Analyst
Business Analysts are responsible for analyzing business processes and identifying areas for improvement. This course can help aspiring Business Analysts build a strong foundation in business analysis by teaching them how to use FastAPI to build APIs that can be used to analyze business processes. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop APIs that can be used to analyze business processes.
Systems Analyst
Systems Analysts are responsible for analyzing and designing computer systems. This course can help aspiring Systems Analysts build a strong foundation in systems analysis by teaching them how to use FastAPI to build APIs that can be used to manage computer systems. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop APIs that can be used to manage computer systems.
IT Consultant
IT Consultants are responsible for providing advice and guidance to businesses on how to use technology to improve their operations. This course can help aspiring IT Consultants build a strong foundation in IT consulting by teaching them how to use FastAPI to build APIs that can be used to manage IT infrastructure. FastAPI is a powerful web framework for building APIs that are fast, easy to use, and secure. By learning FastAPI, students can gain the skills they need to develop APIs that can be used to manage IT infrastructure.

Reading list

We've selected six 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 for Busy Software Engineers.
The official documentation for Jinja2 offers detailed information on the template engine used by FastAPI for serving HTML. It's helpful for understanding how to create and customize templates within FastAPI applications.
Presents principles for designing software architectures that are maintainable, extensible, and easy to understand. It provides valuable insights for structuring large-scale FastAPI applications.
This classic book introduces design patterns, which are reusable solutions to commonly occurring problems in software development. It provides a foundation for understanding how to design flexible and extensible FastAPI applications.
Offers practical tips and best practices for writing effective Python code. It provides insights into Python language features and conventions, which can enhance the quality and maintainability of FastAPI applications.
Provides an in-depth exploration of advanced Python topics such as decorators, generators, and metaprogramming. It offers a solid foundation for understanding the underlying principles of FastAPI's implementation.

Share

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

Similar courses

Here are nine courses similar to FastAPI for Busy Software Engineers.
FastAPI - The Complete Course 2024 (Beginner + Advanced)
Most relevant
FastAPI Fundamentals
Cinematography Course: Shoot Expert Video on Any Camera
The Complete FastAPI Course With OAuth & JWT...
Prepare for the Salesforce AI Associate Certification
GenAI Chatbots: Create and Deploy OpenAI-Powered Chatbots
Campfire Guitar Lessons: Strumming, Chords, Capos, Songs
Manga Art School: Complete Anime and Manga Drawing Course
Advanced Typescript: Generics, Patterns, Type...
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 - 2024 OpenCourser