Aprenda desenvolvimento de API em Python em um dos cursos mais completos já feitos sobre o tema. Você irá construir uma API completa em Python usando FastAPI. Você aprenderá os fundamentos do design de API, incluindo rotas, serialização/deserialização, validação de esquema e modelos. Você também aprenderá sobre SQL, testes com pytest e como construir um pipeline de CI/CD usando ações do GitHub.
⭐️ Conteúdos do Curso
00:00 Introdução
06:33 Visão Geral do Projeto
11:22 Instalação do Python no Mac
13:15 Instalação e configuração do VS Code no Mac
16:37 Instalação do Python no Windows
18:30 Instalação e configuração do VS Code no Windows
22:11 Fundamentos do Ambiente Virtual Python
24:35 Ambiente Virtual no Windows
28:56 Ambiente Virtual no Mac
34:17 Instalando dependências com pip
36:21 Iniciando o FastAPI
39:23 Operações de Caminho
53:22 Introdução ao man
57:34 Requisições HTTP
1:07:29 Validação de Esquema com Pydantic
1:22:45 Operações CRUD
1:29:44 Armazenando em Array
1:34:06 Criando
1:38:15 Coleções do Postman e salvando requisições
1:39:47 Recuperar Um
1:48:10 A ordem do caminho importa
1:52:46 Mudando Códigos de Status de Resposta
2:01:49 Deletando
2:10:31 Atualizando
2:18:02 Documentação Automática
2:21:34 Pacotes Python
2:24:11 Introdução ao Banco de Dados
2:28:54 Instalação do Postgres no Windows
2:31:28 Instalação do Postgres no Mac
2:34:26 Esquema e Tabelas do Banco de Dados
2:44:35 Gerenciando Postgres com PgAdmin GUI
3:12:10 Sua primeira Consulta SQL
3:19:43 Filtrando resultados com "where"
3:22:55 Operadores SQL
3:26:38 IN
3:28:07 Correspondência de padrões com LIKE
3:31:59 Ordenando Resultados
3:36:27 LIMIT & OFFSET
3:39:21 Modificando Dados
3:53:48 Configurando o Banco de Dados do App
3:58:21 Conectando ao banco de dados com Python
4:08:00 CRUD do Banco de Dados
4:31:18 Introdução ao ORM
4:35:33 Configuração do SQLALCHEMY
4:55:25 Adicionando Coluna CreatedAt
5:00:59 Obter Todos
5:07:55 Criar
5:15:50 Obter por ID
5:19:50 Deletar
5:22:31 Atualizar
5:28:21 Pydantic vs Modelos ORM
5:32:21 Mergulho Profundo em Modelos Pydantic
5:38:57 Modelo de Resposta
5:50:08 Criando Tabela de Usuários
5:54:50 Operação de Caminho de Registro de Usuário
6:03:27 Hashing de Senhas
6:08:49 Refatorando Lógica de Hashing
6:10:32 Obter Usuário por ID
6:17:13 Roteadores FastAPI
6:27:34 Prefixo do Roteador
6:30:31 Tags do Roteador
6:32:49 Fundamentos do Token JWT
6:47:03 Processo de Login
7:00:44 Criando Token
7:09:58 OAuth2 PasswordRequestForm
7:13:23 Verificar se o usuário está Logado
7:25:21 Corrigindo Bugs
7:27:59 Protegendo Rotas
7:36:17 Testando Token Expirado
7:38:13 Buscando Usuário em Rotas Protegidas
7:42:44 Recursos Avançados do Postman
7:50:33 Fundamentos de Relacionamento SQL
7:54:59 Chaves Estrangeiras do Postgres
8:07:20 Chaves Estrangeiras do SQLAlchemy
8:13:40 Atualizando Esquema para incluir Usuário
8:17:59 Atribuindo ID de Proprietário ao criar novo
8:21:01 Deletar e Atualizar apenas o seu próprio
8:27:48 Apenas Recuperando Usuário Logado
8:33:37 Relacionamentos Sqlalchemy
8:38:32 Parâmetros de Consulta
8:50:46 Limpando nosso arquivo main.py
8:53:53 Variáveis de Ambiente
9:21:20 Teoria de Voto/Like
9:26:36 Tabela de Votos
9:31:33 Votos Sqlalchemy
9:34:11 Rota de Votos
9:52:31 Joins SQL
10:15:26 Joins no SqlAlchemy
10:28:21 Obter Um com Joins
10:30:18 O que é uma ferramenta de migração de banco de dados
10:33:45 Configuração do Alembic
11:13:50 Desabilitar criação de Engine do SqlAlchemy
11:14:28 O que é CORS?
11:23:38 Pré-requisitos do Git
11:27:40 Instalação do Git
11:29:23 Github
11:34:39 Introdução ao Heroku
11:35:40 Criar App no Heroku
11:40:21 Procfile do Heroku
11:44:59 Adicionando um banco de dados Postgres
11:48:42 Variáveis de Ambiente no Heroku
11:58:59 Migrações Alembic na instância do Postgres do Heroku
12:02:52 Enviando alterações para produção
12:05:04 Criar uma VM Ubuntu
12:08:04 Atualizar pacotes
12:10:47 Instalar Python
12:12:21 Instalar Postgres e configurar senha
12:17:28 Configuração do Postgres
12:24:50 Criar novo usuário e configurar ambiente python
12:34:06 Variáveis de Ambiente
12:42:24 Migrações Alembic no banco de dados de produção
12:45:57 Gunicorn
12:54:12 Criando um serviço Systemd
13:04:45 NGINX
13:10:45 Configurando Nome de Domínio
13:15:19 SSL/HTTPS
13:19:31 Habilitar NGINX
13:20:06 Firewall
13:23:47 Enviando alterações de código para Produção
13:26:09 Dockerfile
13:38:39 Docker Compose
13:48:34 Container Postgres
13:56:22 Montagens de Bind
14:03:39 Dockerhub
14:08:08 Produção vs Desenvolvimento
14:14:51 Introdução aos Testes
14:17:19 Escrevendo seu primeiro teste
14:30:22 As flags -s & -v
14:31:44 Testando mais funções
14:35:29 Parametrizar
14:40:21 Testando Classes
14:48:37 Fixtures
14:55:40 Combinando Fixtures + Parametrizar
14:59:13 Testando Exceções
15:06:07 FastAPI TestClient
15:14:26 Flags do Pytest
15:17:31 Testar criação de usuário
15:25:23 Configurar banco de dados de teste
15:36:47 Criar e destruir banco de dados após cada teste
15:44:18 Mais Fixtures para lidar com interação com o banco de dados
15:50:35 Barras finais no caminho
15:53:12 Escopo da Fixture
16:07:50 Testar fixture de usuário
16:14:40 Testar/validar token
16:18:59 Conftest.py
16:22:09 Testando
17:34:15 Introdução ao CI/CD
17:43:29 Ações do Github
17:49:32 Criando Jobs
17:57:38 configurar python/dependências/pytest
18:06:14 Variáveis de ambiente
18:11:19 Segredos do Github
18:18:14 Testando banco de dados
18:23:42 Construindo imagens Docker
18:34:33 Implantar no heroku
18:49:10 Testes com falha no pipeline
18:52:18 Implantar no Ubuntu