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

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

4.79 (110 reviews)
Udemy
platform
Português
language
Web Development
category
instructor
516
students
12.5 hours
content
Sep 2023
last update
$19.99
regular price

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

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.

Content

Introdução

Por que FastAPI?
O que vamos aprender no curso?

Setup

Configurando WSL (apenas para usuários de Windows)
Configurando Pyenv
Configurando Poetry
Configurando Docker e docker-compose
Configuração do VSCode
Instalação do Insomnia

Type hint e Pydantic

Configuração do ambiente com Poetry
Type hint
Pydantic

Async/Await!

Entendendo Sync vs Async com Bob Esponja
Async, await e eventloop em Python.
Implementação do exemplo Bob Esponja e análise de PERFORMANCE

Projeto 1

Apresentação do Projeto
Primeiros passos com FastAPI
APIRouter e docs
Path parameter
Query parameter
Api externa Alphavantage
Versão síncrona do converter
Rota síncrona do converter
Versão assíncrona do converter
Rota assíncrona do converter
Teste de comparação de performance
Validação de path parameter
Validação de query parameter
Teste das validações e documentação
Body parameter
Output com Pydantic
Overview do Projeto

Projeto 2

Apresentação do Projeto
Introdução ao TDD
Estrutura do projeto
Entendendo Docker como desenvolvedor
Dockerização da aplicação
Subindo PostgreSQL com docker-compose
Configuração do banco de dados com SQLAlchemy
Criando model Category
Migrations com Alembic
Criando shema Category
Caso de uso - add categoria
Rota - add categoria
Caso de uso - listar categoria
Rota - listar categoria
Caso de uso - deletar categoria
Rota - deletar categoria
Criando model Product
Criando schema Product
Caso de uso - add produto
Corrigindo erro nos testes
Rota - add produto
Caso de uso - atualizar produto
Rota - atualizar produto
Caso de uso - deletar produto
Rota - deletar produto
Caso de uso - listar produtos
Rota - listar produtos
Caso de uso - buscar produtos por nome ou slug
Rota - buscar produtos por nome ou slug
Overview da documentação e melhorias
Configurando banco apenas para testes
Tests no insomnia

Segurança e Autenticação (Continuação Projeto 2)

Criando Model User
Criando schema User
Caso de uso - cadastrar usuário
Rota - cadastrar usuário
Criando schema TokenData
Caso de uso - login
Rota - login
Caso de uso - verificar token
Rotas - verificação de token nas rotas
Testes na doc e insomnia

Screenshots

FastAPI Avançado 2023 | 2 Projetos | TDD | PostgreSQL - Screenshot_01FastAPI Avançado 2023 | 2 Projetos | TDD | PostgreSQL - Screenshot_02FastAPI Avançado 2023 | 2 Projetos | TDD | PostgreSQL - Screenshot_03FastAPI Avançado 2023 | 2 Projetos | TDD | PostgreSQL - Screenshot_04

Reviews

Wellington
December 12, 2023
Didática muito ruim, apenas acompanhando o desenvolvimento do instrutor com explicações superficiais.
warley
August 24, 2023
Apesar do conteúdo ser interessante o instrutor não responde nenhuma dúvida. Já tenho quatro perguntas relacionadas ao conteúdo do curso que não foram respondidas.
Henrique
July 7, 2023
Ditatica excelente, realmente te faz gostar de estudar sobre fastapi e docker, podem comprar que não tem erro.
Andre
June 16, 2023
Estou gostando muito do curso, apredendo muitas ferramentas novas. Parabéns pela didática professor. Continue fazendo cursos excelentes como esse.
André
April 19, 2023
SIMPLESMENTE SENSACIONAL. RECOMENDO PARA TODOS OS PROFISSIONAIS QUE DESEJA SE DESTACAR NO MERCADO, COM DESENVOLVIMENTO COM PYTHON E FASTAPI. PARABÉNS DIOGO DUARTE! O MELHOR CURSO DE PYTHON, FASTAPI E DOCKER QUE EU JÁ VI.
Maycon
April 11, 2023
Gostei da maneira que o professor expõe o conteúdo, com objetividade. E o conteúdo em sí foi bem estruturado.
Joel
March 7, 2023
Instrutor muito experiente e muito seguro, explica tudo em detalhes se preocupando que o aluno entenda tudo que está acontecendo. É o conteúdo avançado que eu estava procurando!

Charts

Price

FastAPI Avançado 2023 | 2 Projetos | TDD | PostgreSQL - Price chart

Rating

FastAPI Avançado 2023 | 2 Projetos | TDD | PostgreSQL - Ratings chart

Enrollment distribution

FastAPI Avançado 2023 | 2 Projetos | TDD | PostgreSQL - Distribution chart

Related Topics

5187714
udemy ID
3/1/2023
course created date
3/8/2023
course indexed date
Bot
course submited by