FastAPI Avançado 2023 | 2 Projetos | TDD | PostgreSQL

Aprenda desenvolver APIs modernas utilizando FastAPI, com TDD, Async/Await, Docker, Postgres, SQLAlchemy..

Ratings: 4.71 / 5.00




Description

Resumo

O foco deste curso é ir de uma introdução ao FastAPI até a construção de um sistema completo utilizando várias ferramentas que da stack de desenvolvimento de Python no banckend, como docker, docker-compose, postgres, entre outros.


O objetivo é trazer exemplos do mundo real no que diz respeito ao desenvolvimento banckend com Python. Vamos trazer exemplos práticos de como utilizar FastAPI/Python para resolver problemas do dia a dia de uma empresa de tecnologia.


O curso é dividido em 7 seções, onde cada uma tem o seguinte propósito:


1. Introdução

Na introdução vamos entender o que é FastAPI e por que ele tem crescido tanto nas trends no que diz respeito a desenvolvimento backend com Python. Também nessa seção vai ser apresentada a estrutura do curso.



2. Type hint e Pydantic

Nessa seção vamos entender os conceitos de type hint e annotations em Python, bem como vai ser apresentada a lib Pydantic, essencial para o desenvolvimento com FastAPI.


3. Setup

Na seção de setup, vamos configurar todos os recursos necessários para o desenvolvimento dos projetos como Docker, docker-compose, Pyenv, Poetry, WSL e Insomnia.


4. Programação assíncrona

Nessa seção vamos entender em detalhes os conceitos de programação síncrona e assícrona bem como compara-las. Vamos aprender como utilizar a sintaxe async/await o asyncio, com run e gather. Partindo de um exemplo bem didático até a implementação prática, vamos ter no final da seção total noção de como funciona programação assíncrona em Python e o quão performático isso pode ser.


5. Projeto 1

Os dois principais objetivos do projeto 1 são:

- Dar os primeiros passos utilizando todos os principais recursos do FastAPI com parametros de query, path e body bem como documentação e criação de rotas assíncronas;

- Ver um exemplo do mundo real de como a programação assíncrona pode ser muito poderosa no dia-a-dia.


6. Projeto 2

O objetivo da seção é criar um projeto completo com FastAPI, com tudo que um projeto de backend tem direito. Utilizando Docker, docker-compose, Postgres, SQLALchemy, Migrations com Alembic e Pytest. O projeto é desenvolvido utilizando a metodologia TDD (Test Driven Development).


7. Autenticação e Segurança

Nessa etapa, vamos adicionar autenticação no nosso Projeto 2 com as features de user register, user login e verificação de token nas rotas necessárias. Para isso vamos utilizar alguns recurso do FastAPI bem como outros recurso de segurança como a bilioteca passlib e jwt.


7. Paginação

Nessa etapa, aprendemos como utilizar a lib fastapi_pagination para paginar nossas listagens em FastAPI.

What You Will Learn!

  • TDD (Test Driven Development)
  • Async/await em detalhes
  • Docker e dockerização de aplicação
  • Utilizar path, query e body parameter
  • Segurança e Autenticação em FastAPI
  • Trabalhar com validações avançadas
  • Testes unitários com Pytest
  • Trabalhar com Pydantic
  • Trabalhar com PostgreSQL
  • Fazer CRUD com SQLAlchemy
  • Migrations com alembic
  • Integração com API externa

Who Should Attend!

  • Desenvolvedores Python de todos os níveis