NestJS do Zero com TypeORM, Mongoose, Prisma e Swagger
Sobre o Curso
Olá Dev, seja bem-vindo e bem-vinda ao curso de fundamentos do framework NestJS.
Eu sou o Jorge Aluizio e estarei contigo nessa jornada de aprendizado com esse framework para...
Requisitos
Conhecimento básico de criação de aplicativos backend com o Nodejs e Express.
Conhecimento básico de comandos de shell (terminal).
Conhecimento básico do Docker.
Usuários de sistema Windows precisarão dispor do WSL (versão atual) instalado no PC.
Docker instalado no PC.
Editor de código ou IDE para desenvolvimento dos projetos (VS Code, Webstorm, etc).
Nodejs (versão LTS atualizada) instalado no PC.
Introdução
smart_display
Apresentação do Curso
smart_display
O que é NestJS?
smart_display
Estrutura inicial de um projeto NestJS
smart_display
Trabalhando com Controllers
smart_display
Trabalhando com os parâmetros de uma requisição
smart_display
Trabalhando com os dados enviados no corpo da requisição
smart_display
Customizando o Status Code das respostas
smart_display
Manipulando requisições de Update e Delete
smart_display
Trabalhando com os Services
smart_display
Injetando o Service no Controller para usar os métodos
smart_display
Tratamento de erros com o NestJS
smart_display
Conhecendo os Módulos do NestJS
Manipulação dos Dados da Aplicação
smart_display
Conhecendo os DTOs - Data Transfer Object
smart_display
Validando os dados recebidos pelo App - parte 1
smart_display
Validando os dados recebidos pelo App - parte 2
Trabalhando com o TypeORM no NestJS
smart_display
Esclarecimento sobre as versões do TypeORM
smart_display
Configurando o TypeORM com banco de dados Postgres
smart_display
Criando a Entidade Course
smart_display
Criando o Repositório de Course
smart_display
Verificando o funcionamento do TypeORM
smart_display
Entendendo o funcionamento das relações entre entidades no TypeORM
smart_display
Criando o relacionamento entre as entidades Course e Tag
smart_display
Ajustando os métodos de criação e atualização com o relacionamento
smart_display
Buscando dados relacionados com o TypeORM
smart_display
Criando migrações do banco de dados com o TypeORM
Rodando o NestJS com Docker Compose
smart_display
Conceitos básicos da estrutura do Docker
smart_display
Criando os arquivos de definição das imagens Docker - Dockerfile
smart_display
Criando o arquivo docker-compose.yml
smart_display
Rodando o App com o docker-compose
smart_display
Criando as tabelas no banco de dados através de Migrações
smart_display
Criando a tabela pivot courses_tags via migração (relação many-to-many)
Introdução aos Testes Automatizados com NestJS
smart_display
Conhecendo o framework Jest
smart_display
Estrutura de testes automatizados no NestJS
smart_display
Exemplo de teste unitário - CoursesService - parte 1
smart_display
Exemplo de teste unitário - CoursesService - parte 2
smart_display
Exemplo de teste unitário - CoursesService - parte 3
smart_display
Introdução aos testes ponta a ponta - e2e
smart_display
Exemplo de teste e2e - Courses
smart_display
Exemplo de teste e2e - configurando banco de dados
smart_display
Exemplo de teste e2e - endpoint create course - parte 1
smart_display
Exemplo de teste e2e - endpoint create course - parte 2
MongoDB e Mongoose no NestJS
smart_display
Criando um app NestJS com autenticação JWT usando MongoDB e Mongoose - parte 1
smart_display
Criando um app NestJS com autenticação JWT usando MongoDB e Mongoose - parte 2
smart_display
Criando um app NestJS com autenticação JWT usando MongoDB e Mongoose - parte 3
smart_display
Criando um app NestJS com autenticação JWT usando MongoDB e Mongoose - parte 4
Trabalhando com o Prisma no NestJS
smart_display
Criando o projeto prisma-api
smart_display
Configurando o EditorConfig, Eslint e Prettier
smart_display
Criando os arquivos das imagens Docker - Dockerfile
smart_display
Criando o arquivo docker-compose.yml
smart_display
Rodando a aplicação com o docker-compose
smart_display
O que é o Prisma?
smart_display
Instalação do Prisma no projeto prisma-api
smart_display
Criando os Models Prisma no projeto
smart_display
Criando os arquivos de migrações com o Prisma
smart_display
Conhecendo o Prisma Client - Visão geral
smart_display
Criando o serviço prisma em nosso app - PrismaService
smart_display
Executando o Prisma Studio em nosso app
Módulo de Usuários do Projeto prisma-api
smart_display
Criando a estrutura do CRUD de users
smart_display
Criando a validação dos dados na criação e edição de users
smart_display
Users Repository
smart_display
Users Service
smart_display
Users Controller
Customizando o Tratamento de Erros no NestJS
smart_display
Tratamento de Erros - Visão geral
smart_display
Exception Filters - parte 1
smart_display
Exception Filters - parte 2
smart_display
Interceptors - Visão geral
smart_display
Unauthorized Interceptor
smart_display
NotFound Interceptor
smart_display
Database Interceptor
smart_display
Prisma Client Errors
smart_display
Conflict Interceptor
smart_display
Unique Constraint Error
smart_display
Database Interceptor - concluindo
Módulo de Posts do Projeto prisma-api
smart_display
Criando a estrutura do CRUD de posts
smart_display
Criando a validação dos dados na criação e edição de posts
smart_display
Posts Repository
smart_display
Posts Controller e Service
smart_display
Relacionamentos com Prisma - Visão Geral
smart_display
Relacionamentos com Prisma - parte 1
smart_display
Relacionamentos com Prisma - parte 2
smart_display
Relacionamentos com Prisma - parte 3
smart_display
Relacionamentos com Prisma - parte 4
Introdução ao Swagger no NestJS
smart_display
Criando a documentação da API com o Swagger - Visão geral
smart_display
Instalação do Swagger no NestJS
smart_display
Configurando o Plugin do NestJS para o Swagger
smart_display
Configurando o decorator @ApiProperty nos DTO’s
smart_display
Ajustando as API Responses na documentação
smart_display
Usando Tags para agrupar os endpoints na documentação
smart_display
Finalizando o módulo sobre Swagger
Deploy da API NestJS com o Prisma CMS no Heroku
smart_display
Heroku - Visão Geral
smart_display
Instalação da CLI do Heroku no PC local
smart_display
Criando um projeto no Heroku para deploy da API NestJS
smart_display
Instalando o Add-on Papertrail para gerenciamento de Logs
smart_display
Instalando o Postgres e testando o funcionamento da API NestJS