Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
NestJS para REST API com TypeORM, Autenticação JWT e Testes
Bestseller
Rating: 4.8 out of 5(725 ratings)
4,369 students

NestJS para REST API com TypeORM, Autenticação JWT e Testes

Curso de NestJS - crie seu backend API RESTful com TypeOrm, PostgreSQL, autenticação JWT, testes automatizados e padrões
Last updated 3/2026
Portuguese

What you'll learn

  • Desenvolver APIs RESTful escaláveis e modulares com NestJS e TypeScript.
  • Implementar autenticação, autorização com JWT e Guards para proteger rotas.
  • Integrar bancos de dados relacionais (como MySQL e PostgreSQL) usando TypeORM.
  • Aplicar validação de dados com DTOs, Pipes e testes automatizados com Jest.
  • Utilizar interceptors, filters e middlewares customizados para manipulação de requisições.
  • Estruturar projetos com módulos, controllers e services, seguindo boas práticas e padrões SOLID.

Course content

14 sections142 lectures24h 11m total length
  • Introdução ao curso de NestJS para API REST6:27

    Inicie sua jornada com o curso de NestJS para API REST através de uma visão geral. Nesta breve introdução, você aprenderá o que esperar ao longo das aulas, os principais objetivos do curso, e como NestJS pode facilitar o desenvolvimento de aplicações web com uma arquitetura modular e escalável. Descubra os benefícios de utilizar o NestJS para criar APIs robustas e modernas.

Requirements

  • Necessário ter conhecimento básico em JavaScript e TypeScript
  • Necessário ter conhecimento básico em o NodeJS
  • Necessário um computador e ter o NodeJS versão 16 ou superior instalada para acompanhar as aulas

Description

Curso Completo de NestJS: O Guia Definitivo para o Desenvolvimento de APIs Restful com TypeORM e JWT

O NestJS se tornou um dos frameworks mais poderosos e robustos para desenvolvimento de back-end em Node.js, oferecendo uma arquitetura modular e escalável para construir aplicativos server-side. Se você está procurando dominar essa tecnologia e criar APIs RESTful de alto desempenho, o Curso Completo de NestJS é o investimento certo. Com mais de 100 aulas detalhadas, este curso abrange desde os conceitos básicos até implementações avançadas de autenticação, autorização, testes automatizados e deploy de produção. Vamos explorar o que você pode esperar aprender e por que esse curso é a escolha ideal para desenvolvedores de todos os níveis.

Introdução ao NestJS: Por Que Escolher Este Framework?

O curso começa com uma introdução ao NestJS, onde você entenderá o que torna esse framework tão especial. Ao contrário de outras soluções, o NestJS oferece uma abordagem baseada em módulos, o que facilita a organização do código, a reutilização de componentes e a escalabilidade. Você também aprenderá sobre os principais requisitos do NestJS e como configurar o ambiente de desenvolvimento no seu computador, garantindo que você comece o curso com a base correta.

Instalando e Configurando o NestJS CLI: Sua Ferramenta de Desenvolvimento

Um dos primeiros passos do curso é a instalação do NestJS CLI, uma poderosa ferramenta de linha de comando que agiliza a criação de projetos e a geração de código. O CLI ajuda você a criar módulos, controladores e serviços com apenas alguns comandos, facilitando o desenvolvimento. Além disso, você terá uma visão clara dos arquivos básicos gerados pelo CLI e aprenderá o propósito de cada um deles, como o arquivo main.ts, onde o aplicativo é inicializado, e a função bootstrap(), responsável por levantar o servidor.

Criando Módulos e Controladores: A Base do NestJS

No NestJS, módulos e controladores são componentes centrais que ajudam a organizar sua aplicação. O curso ensina como criar esses componentes tanto manualmente quanto utilizando o NestJS CLI. Você aprenderá a importância de módulos no encapsulamento de funcionalidades e verá como criar rotas dinâmicas, como @Get(':recurso'), para acessar recursos específicos. A injeção de dependências, outro conceito fundamental, será explorada através da criação de serviços e provedores.

Compreendendo o Protocolo HTTP e Métodos de Solicitação

Para desenvolver APIs RESTful eficazes, você precisa entender o protocolo HTTP. O curso dedica uma seção ao básico do HTTP, incluindo URLs, recursos e métodos de solicitação, como GET, POST, PUT, PATCH, DELETE, entre outros. Além disso, você verá como utilizar o Rest Client no VS Code para testar suas requisições diretamente na IDE, facilitando o desenvolvimento e depuração.

Service e Provider: Entendendo a Injeção de Dependências no NestJS

Um dos aspectos mais poderosos do NestJS é sua implementação de injeção de dependências, que torna o código mais modular e fácil de testar. Você aprenderá como criar e configurar Services (Providers), que são responsáveis pela lógica de negócios da aplicação. O curso explica detalhadamente como esses serviços são injetados em controladores e outros módulos, mantendo o código desacoplado e organizado.

Validação e Transformação de Dados com DTOs e ValidationPipes

No desenvolvimento de APIs, garantir que os dados de entrada estejam corretos é essencial. O curso ensina como criar DTOs (Data Transfer Objects) para transportar e validar dados de maneira eficiente. Você aprenderá a usar ValidationPipe e class-validator para garantir que apenas dados válidos sejam processados pela sua API, evitando erros e falhas de segurança. A aula sobre o PartialType é particularmente útil para validar campos opcionais ao atualizar recursos.

Implementando Segurança com JWT: Autenticação e Autorização

A segurança é uma prioridade em qualquer API. O curso aborda em profundidade a implementação de autenticação e autorização usando JWT (JSON Web Tokens). Você aprenderá a criar um sistema de login seguro, hashing de senhas com bcrypt, e a configurar guards de autenticação, como o AuthTokenGuard, para proteger rotas e garantir que apenas usuários autenticados possam acessá-las. Além disso, são discutidos conceitos como Refresh Tokens, permitindo que o usuário mantenha a sessão ativa por mais tempo sem a necessidade de relogar.

Manipulando Exceções e Garantindo Erros HTTP Consistentes

Um bom sistema de API deve fornecer respostas de erro claras e consistentes. No curso, você aprenderá a utilizar HttpException e NotFoundException para exibir mensagens de erro adequadas quando algo der errado, como quando um recurso não é encontrado. O curso também ensina como criar Exception Filters personalizados para capturar e manipular exceções de forma global ou em partes específicas do seu código.

Pipes e Interceptors: Validando, Transformando e Modificando Dados

O NestJS oferece uma ferramenta poderosa chamada Pipes, que permite a validação e transformação de dados em rotas. Você verá como utilizar Pipes para garantir que os dados recebidos estão no formato correto e, se necessário, convertê-los. Já os Interceptors permitem modificar as respostas HTTP antes de enviá-las para o cliente ou até mesmo implementar um sistema de cache simples. O curso explora diversos cenários de uso, como adicionar cabeçalhos de resposta, capturar exceções globalmente e implementar caches para otimizar a performance.

Bancos de Dados e Integração com TypeORM e PostgreSQL

A maioria das aplicações precisa interagir com um banco de dados, e o curso abrange a integração com PostgreSQL usando o TypeORM. Você aprenderá a instalar o PostgreSQL e configurar o TypeOrmModule para trabalhar com entidades e repositórios. A criação de Entities e Repositories é coberta em detalhes, permitindo que você realize operações como criar, ler, atualizar e apagar registros no banco de dados. Também é abordada a criação de relacionamentos entre tabelas, como ManyToOne e OneToMany, permitindo que você modele seus dados de forma relacional.

Paginação e Filtragem de Resultados com Query Parameters

A implementação de paginação em APIs é essencial para lidar com grandes volumes de dados. O curso ensina como usar query parameters para implementar a paginação utilizando os métodos take/limit e skip/offset do TypeORM, facilitando a navegação em grandes listas de resultados. Isso é útil em cenários como listas de usuários, produtos ou qualquer outro recurso que precise ser exibido em várias páginas.

DTOs Avançados e Validação Customizada

Ao criar sistemas complexos, a necessidade de DTOs avançados surge. O curso ensina a implementar validações avançadas utilizando decoradores como @Body, @Param e @Query, para garantir que os dados recebidos estão de acordo com as expectativas da API. Também é abordada a criação de DTOs customizados para cenários específicos, como a validação de paginação.

Upload de Arquivos e Servindo Conteúdo Estático

Se sua aplicação precisa lidar com uploads de arquivos, o curso também aborda essa funcionalidade. Você aprenderá a usar FileInterceptor e UploadedFile para lidar com arquivos de forma eficiente. Além disso, o ServeStaticModule permite que você sirva arquivos estáticos, como imagens ou documentos, diretamente de seu servidor NestJS.

Testes Automatizados: Unitários e End-to-End (E2E)

Garantir a qualidade do código é fundamental, e o curso aborda em detalhes como implementar testes unitários e end-to-end (E2E) no NestJS utilizando o Jest. Você aprenderá a testar controladores, serviços e até mesmo DTOs, garantindo que todas as partes da sua aplicação funcionem como esperado. São abordados conceitos como TestingModule e jest.fn para simular chamadas e facilitar o teste de funcionalidades isoladas.

Deploy de Produção: Configuração Completa na Google Cloud Platform (GCP)

Por fim, o curso ensina como realizar o deploy de sua aplicação NestJS em produção utilizando a Google Cloud Platform (GCP). Você aprenderá a configurar um servidor Ubuntu, instalar e configurar PostgreSQL, Node.js, LetsEncrypt para certificados SSL, e utilizar o Nginx como servidor web. Além disso, o curso ensina como usar o PM2 para gerenciar processos em produção, garantindo que sua aplicação esteja sempre disponível e com alta performance.

Por Que Este Curso é um Investimento Valioso

O Curso Completo de NestJS é mais do que um simples guia para iniciantes. Ele é um curso que cobre todos os aspectos do desenvolvimento back-end com o NestJS, desde a configuração inicial até o deploy em produção, passando por segurança, testes, manipulação de erros e muito mais. Cada aula foi projetada para fornecer conhecimento prático, e ao final do curso, você estará capacitado para desenvolver APIs RESTful robustas e seguras, com testes automatizados e deploy para produção. Se você busca aprimorar suas habilidades e criar aplicativos server-side escaláveis e performáticos, este curso é o investimento certo.

Who this course is for:

  • Desenvolvedores Backend: Se você já possui experiência em backend e quer aprender a usar o NestJS para construir APIs robustas e seguras, este curso fornecerá um guia detalhado e prático para você.
  • Engenheiros de Software: Profissionais que buscam aprimorar suas competências na arquitetura de software, gerenciamento de autenticação e autorização, e integração com bancos de dados relacionais como PostgreSQL.
  • Programadores em Transição: Se você está migrando de outras tecnologias para o NestJS e deseja uma compreensão aprofundada dos seus conceitos e melhores práticas, este curso irá acelerar seu aprendizado.
  • Estudantes de Tecnologia: Aqueles que estão iniciando na área de desenvolvimento web e desejam um curso estruturado que cobre tanto os fundamentos quanto as técnicas avançadas do NestJS.