API de E-commerce: Produtos, Carrinho e Pedidos com NestJS
- Nível: Projetos
- Módulos: 7
- Aulas: 23
- Tempo de leitura: 1h 14min
- Tecnologias: NestJS, PostgreSQL
- Preço: R$ 67,00
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.
- O que vamos construir: visão geral da API de E-commerce (2 min)
- Configurando o ambiente de desenvolvimento (2 min)
- 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.
- Criando o módulo de categorias com TypeORM (4 min)
- Módulo de produtos: entity, DTO e service com TypeORM (4 min)
- Upload de imagens de produtos com Multer (8 min)
- 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.
- User Entity e cadastro com bcrypt (2 min)
- JWT com Passport: login e estrategia JWT (3 min)
- Guards, Roles e protecao de rotas por permissao (2 min)
- 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.
- Entity e estrutura do modulo de carrinho (2 min)
- Cart Service: adicionar, atualizar e remover itens (8 min)
- 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.
- Order Entity e ciclo de vida do pedido (3 min)
- Orders Service: criar pedido a partir do carrinho (3 min)
- 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.
- Testes unitarios com Jest no NestJS (3 min)
- Documentacao Swagger e testes de integracao (3 min)
- 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.
- Deploy no Railway com PostgreSQL em producao (2 min)
- Variaveis de ambiente e configuracoes de seguranca em producao (2 min)
- Proximos passos: pagamentos, reviews e melhorias (2 min)