Destino Dev

Cursos

API de E-commerce: Produtos, Carrinho e Pedidos com NestJS

Código do curso: github.com/johnpires/api-ecommerce-nestjs

Construa uma API de e-commerce completa com NestJS do zero. Implemente gerenciamento de produtos com categorias e estoque, carrinho de compras persistente, sistema de pedidos com ciclo de vida completo, autenticação JWT e controle de permissões. Aprenda arquitetura modular, TypeORM com PostgreSQL, validação de dados e boas práticas de desenvolvimento backend profissional.

Conteúdo do curso

Módulo 1: Introdução e Setup do Projeto

Visão geral do projeto de e-commerce, configuração do ambiente de desenvolvimento com NestJS, TypeORM e PostgreSQL, e estrutura da aplicação.

  1. O que vamos construir: visão geral da API de E-commerce (2 min)
  2. Configurando o ambiente de desenvolvimento (2 min)
  3. Estrutura do projeto e configuração do TypeORM (3 min)

Módulo 2: Produtos e Categorias

Criação dos módulos de categorias e produtos com TypeORM, relacionamentos, upload de imagens e controle de estoque.

  1. Criando o módulo de categorias com TypeORM (4 min)
  2. Módulo de produtos: entity, DTO e service com TypeORM (4 min)
  3. Upload de imagens de produtos com Multer (8 min)
  4. Controle de estoque e disponibilidade de produtos (2 min)

Módulo 3: Autenticação e Autorização

Implementação de autenticação JWT com Passport, sistema de roles (Admin/Cliente), guards e proteção de rotas.

  1. User Entity e cadastro com bcrypt (2 min)
  2. JWT com Passport: login e estrategia JWT (3 min)
  3. Guards, Roles e protecao de rotas por permissao (2 min)
  4. Perfil do usuario e atualizacao de dados (8 min)

Módulo 4: Carrinho de Compras

Construção do módulo de carrinho de compras persistente, com operações de adicionar, atualizar e remover itens.

  1. Entity e estrutura do modulo de carrinho (2 min)
  2. Cart Service: adicionar, atualizar e remover itens (8 min)
  3. Cart Controller e resposta formatada com totais (2 min)

Módulo 5: Sistema de Pedidos

Criação do ciclo de vida completo de pedidos, desde a criação até entrega, com notificações por email e histórico.

  1. Order Entity e ciclo de vida do pedido (3 min)
  2. Orders Service: criar pedido a partir do carrinho (3 min)
  3. Orders Controller e notificacoes por email (2 min)

Módulo 6: Testes e Documentação

Escrita de testes unitários com Jest, testes de integração com Supertest e documentação automática com Swagger/OpenAPI.

  1. Testes unitarios com Jest no NestJS (3 min)
  2. Documentacao Swagger e testes de integracao (3 min)
  3. Validacao avancada e tratamento de erros global (2 min)

Módulo 7: Deploy e Conclusão

Deploy da API no Railway com PostgreSQL em produção, configuração de variáveis de ambiente e próximos passos.

  1. Deploy no Railway com PostgreSQL em producao (2 min)
  2. Variaveis de ambiente e configuracoes de seguranca em producao (2 min)
  3. Proximos passos: pagamentos, reviews e melhorias (2 min)