Mastering REST APIs with FastAPI
Jose Salvatierra
8:42:55
Description
Build professional APIs using FastAPI, including 100% test coverage, background tasks, user authentication, and more!
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
Who is this for?
What You Need to Know?
More details
DescriptionWith FastAPIÂ you can build complete, high-performance APIs in days, and adding new features is blazing-fast. That's why FastAPIÂ has become so popular in recent years.
In this course, I'll show you how to go from a blank slate to a complete, finished FastAPI application.
The project
We'll build social media API with user authentication, email sending, and file upload. 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.
We'll use Pydantic for data validation and encode/databases as our database connectivity library.
Advanced knowledge
Use background tasks in FastAPI to improve performance when running slow code, such as when sending emails (covered in the course) or when making slow requests to third party APIs (also covered).
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, including many-to-many relationships.
You'll learn how to handle file uploads and what to do with the uploaded files, so you don't run out of server space.
Complete APIÂ testing
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.
Part of real-world development means logging! There's a lot of logging knowledge in this course, including how to set up the logging module properly, when to make logging calls, and where to store logs when your application is deployed.
Deployments
Of course, I'll show you how to deploy your FastAPI app using popular service Render. You can deploy your FastAPI app for free, but I'll also show you some paid options for improved performance.
We'll also look at application management, error handling with Sentry, and CI/CDÂ with GitHub Actions.
If you use or want to use FastAPI, this course contains everything you need to develop complete, real-world APIs.
Let's get started. I'll see you on the inside!
Who this course is for:
- Software developers looking to expand their skill-set by learning to develop professional grade FAST APIs
- Students wanting to extend the capabilities of mobile and web applications by using server-side technologies
With FastAPIÂ you can build complete, high-performance APIs in days, and adding new features is blazing-fast. That's why FastAPIÂ has become so popular in recent years.
In this course, I'll show you how to go from a blank slate to a complete, finished FastAPI application.
The project
We'll build social media API with user authentication, email sending, and file upload. 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.
We'll use Pydantic for data validation and encode/databases as our database connectivity library.
Advanced knowledge
Use background tasks in FastAPI to improve performance when running slow code, such as when sending emails (covered in the course) or when making slow requests to third party APIs (also covered).
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, including many-to-many relationships.
You'll learn how to handle file uploads and what to do with the uploaded files, so you don't run out of server space.
Complete APIÂ testing
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.
Part of real-world development means logging! There's a lot of logging knowledge in this course, including how to set up the logging module properly, when to make logging calls, and where to store logs when your application is deployed.
Deployments
Of course, I'll show you how to deploy your FastAPI app using popular service Render. You can deploy your FastAPI app for free, but I'll also show you some paid options for improved performance.
We'll also look at application management, error handling with Sentry, and CI/CDÂ with GitHub Actions.
If you use or want to use FastAPI, this course contains everything you need to develop complete, real-world APIs.
Let's get started. I'll see you on the inside!
Who this course is for:
- Software developers looking to expand their skill-set by learning to develop professional grade FAST APIs
- Students wanting to extend the capabilities of mobile and web applications by using server-side technologies
User Reviews
Rating
Jose Salvatierra
Instructor's Courses
Udemy
View courses Udemy- language english
- Training sessions 76
- duration 8:42:55
- Release Date 2023/11/21