Formação API Restful com Node.js e Typescript
Módulos do curso:
Introdução;
Apresentação do Curso;
O que é uma API;
API Restful - Visão Geral;
O que é o Node.js;
Primeiros Passos com o NPM;
Criando o Primeiro App Backend com Node.js;
Instalando e Configurando o Nodemon;
Métodos HTTP com o ExpressJS;
Request - Query Params;
Request - Route Params;
Request - Body;
Middlewares com o ExpressJS;
Conceitos Typescript;
Criando o App MyAPI com Typescript;
EditorConfig, Eslint e Prettier;
Variáveis de Ambiente;
Tratamento de Erros - Customização;
Roles Module;
Roles Routes;
Role Entity;
Roles Repository;
Controllers e Casos de Uso do Módulo de Roles;
Design Pattern Singleton Aplicado ao Repositório de Roles;
Documentação de API REST com o Swagger;
Introdução ao Swagger;
Iniciando a Documentação do Módulo de Roles;
Trabalhando com Banco de Dados;
Instalação do TypeORM;
DataSource Connection - Conexão da Aplicação com o BD;
Conceito Básico de Migrations com o TypeORM;
Role Entity - Refatoração com o TypeORM;
Repository Roles - Refatoração com o TypeORM;
Refatoração Documentação Swagger;
Injeção de Dependências;
Container de Injeção de Dependências;
Refatoração dos casos de uso com o Container de Injeção de Dependências;
Users Module - Usando o TypeORM;
User Entity;
Users Repository;
Relacionamento entre as tabelas roles e users;
Controllers e Casos de Uso do Módulo de Users;
Autenticação com Json Web Token - JWT;
JWT - Visão Geral;
Caso de Uso para Autenticação de Usuários;
Middleware de Autenticação para Proteger Rotas Privadas;
Criando Seed de Usuário;
Introdução ao Recurso de Upload de Arquivos;
Configurando Upload de Imagens com o Multer;
Caso de Uso para Upload de Imagem de Avatar dos Usuários;
Criando Rota Estática para servir as Imagens de Avatar;
Módulo de Perfil de Usuários;
Caso de Uso e Controller para Exibir Perfil de Usuário Logado;
Caso de Uso para Atualizar Perfil de Usuário Logado;
Trabalhando com Refresh Token na Autenticação com JWT;
Refresh Token - Visão Geral;
Criando a Entidade RefreshToken;
Criando o Repository de RefreshToken;
Middleware para Adicionar Informações do Usuário Autenticado ao Objeto Request;
Caso de Uso para Criar Access Token e Refresh Token;
Frontend App - Testando o Refresh Token com Renovação Automática.