I took this course to learn about building APIs, to practice Python development, and to learn about deploying applications.
In this course, we build an API for a social media site that supports multiple users, posts by users, and voting on posts. The course covers the features of FastAPI library and the basics of designing an API, but it also teaches how to setup a PostgreSQL database, how to write tests with Pytest, how to deploy the API to different environments, including Heroku and a Linux server, and how to Dockerize the application. It also covers some advanced features of Postman. I have experience with many of these topics, but I was looking for more exposure to building an application end-to-end, i.e. I wanted to practice putting all the pieces together.
The course was authored by Sanjeev Thiyagarajan for FreeCodeCamp.org and distributed for free on Youtube. Clocking in at roughly 19 hours of play time, it is a really comprehensive and effective course.
I created a website to document what I learned during this course (as well as to practice building documenation websites). You can find more information about running this API on your local machine there.