Difference between revisions of "FastAPI"

From Sinfronteras
Jump to: navigation, search
(Created page with "Build a Modern API with FastAPI and Python: https://www.udemy.com/course/build-a-movie-tracking-api-with-fastapi-and-python/ During this course we will build a Movie Trackin...")
 
Line 6: Line 6:
  
  
'''Section 2: Environment Setup'''
+
* '''Section 2: Environment Setup'''
 
: We will install Pycharm, Docker and Docker-compose and Insomnia. If you already have an environment you can skip this section.
 
: We will install Pycharm, Docker and Docker-compose and Insomnia. If you already have an environment you can skip this section.
 
: Note: If you're an university student you can apply for a free licence of Pycharm Professional here: https://www.jetbrains.com/community/education/#students
 
: Note: If you're an university student you can apply for a free licence of Pycharm Professional here: https://www.jetbrains.com/community/education/#students
  
'''Section 3: Docker Basic'''
+
* '''Section 3: Docker Basic'''
 
: We will learn some basic docker commands that will help us in improving our workflow.
 
: We will learn some basic docker commands that will help us in improving our workflow.
  
'''Section 4: MongoDB Basics'''
+
* '''Section 4: MongoDB Basics'''
 
: We will learn very basic MongoDB commands and we'll execute them inside the docker container and in Pycharm Professional.
 
: We will learn very basic MongoDB commands and we'll execute them inside the docker container and in Pycharm Professional.
  
'''Section 5: Web API Project Structure'''
+
* '''Section 5: Web API Project Structure'''
 
: In this section we'll learn how to structure the project and we will write some basic endpoints with FastAPI just to make you more familiar with writing endpoints.
 
: In this section we'll learn how to structure the project and we will write some basic endpoints with FastAPI just to make you more familiar with writing endpoints.
  
'''Section 6: Storage Layer'''
+
* '''Section 6: Storage Layer'''
 
: We talk about CRUD and we'll apply the repository pattern to develop and In-Memory repository and a MongoDB repository in order to use them within our application. We will also test the implementations.
 
: We talk about CRUD and we'll apply the repository pattern to develop and In-Memory repository and a MongoDB repository in order to use them within our application. We will also test the implementations.
  
'''Section 7: Movie Tracker API'''
+
* '''Section 7: Movie Tracker API'''
 
: We will write the actual API for tracking movies using the previous developed components. We'll implement the application's settings module and we'll add pagination to some of the routes.  In the end we will write unit tests.
 
: We will write the actual API for tracking movies using the previous developed components. We'll implement the application's settings module and we'll add pagination to some of the routes.  In the end we will write unit tests.
  
'''Section 8: Middleware'''
+
* '''Section 8: Middleware'''
 
: We'll talk about Fast API middleware and how to write your own custom middleware.
 
: We'll talk about Fast API middleware and how to write your own custom middleware.
  
'''Section 9: Authentication'''
+
* '''Section 9: Authentication'''
 
: We'll talk about implementing Basic Authentication and validating JWT tokens.
 
: We'll talk about implementing Basic Authentication and validating JWT tokens.
  
'''Section 10: Deployment'''
+
* '''Section 10: Deployment'''
 
: We'll containerize the application and we will deploy it on a local microk8s kubernetes cluster. In the end we'll visualise some metrics with Grafana. Having metrics is a good way to observe your applications performance and behaviour and troubleshoot it.
 
: We'll containerize the application and we will deploy it on a local microk8s kubernetes cluster. In the end we'll visualise some metrics with Grafana. Having metrics is a good way to observe your applications performance and behaviour and troubleshoot it.
  
'''Resources for this lecture at ''' https://www.udemy.com/course/build-a-movie-tracking-api-with-fastapi-and-python/learn/lecture/35148314?start=1#overview
+
* '''Resources for this lecture at ''' https://www.udemy.com/course/build-a-movie-tracking-api-with-fastapi-and-python/learn/lecture/35148314?start=1#overview

Revision as of 11:06, 2 June 2023

Build a Modern API with FastAPI and Python: https://www.udemy.com/course/build-a-movie-tracking-api-with-fastapi-and-python/


During this course we will build a Movie Tracking API with Fast API and Python for tracking movies.


  • Section 2: Environment Setup
We will install Pycharm, Docker and Docker-compose and Insomnia. If you already have an environment you can skip this section.
Note: If you're an university student you can apply for a free licence of Pycharm Professional here: https://www.jetbrains.com/community/education/#students
  • Section 3: Docker Basic
We will learn some basic docker commands that will help us in improving our workflow.
  • Section 4: MongoDB Basics
We will learn very basic MongoDB commands and we'll execute them inside the docker container and in Pycharm Professional.
  • Section 5: Web API Project Structure
In this section we'll learn how to structure the project and we will write some basic endpoints with FastAPI just to make you more familiar with writing endpoints.
  • Section 6: Storage Layer
We talk about CRUD and we'll apply the repository pattern to develop and In-Memory repository and a MongoDB repository in order to use them within our application. We will also test the implementations.
  • Section 7: Movie Tracker API
We will write the actual API for tracking movies using the previous developed components. We'll implement the application's settings module and we'll add pagination to some of the routes. In the end we will write unit tests.
  • Section 8: Middleware
We'll talk about Fast API middleware and how to write your own custom middleware.
  • Section 9: Authentication
We'll talk about implementing Basic Authentication and validating JWT tokens.
  • Section 10: Deployment
We'll containerize the application and we will deploy it on a local microk8s kubernetes cluster. In the end we'll visualise some metrics with Grafana. Having metrics is a good way to observe your applications performance and behaviour and troubleshoot it.