🛒 TecLoja 03: E-commerce de Tecnologia (NestJS + React)

Este projeto demonstra o desenvolvimento de um e-commerce completo de eletrônicos e produtos de tecnologia (TecLoja 03). Ele foi planejado especificamente para ser utilizado como estudo de caso prático nas aulas de Engenharia de Software e Banco de Dados, servindo como alternativa moderna de nível corporativo construída inteiramente sob o ecossistema TypeScript.

A aplicação adota uma Arquitetura Multirepo moderna, mantendo o frontend e o backend em repositórios independentes do GitHub, com deploys automatizados na nuvem através de pipelines de CI/CD:


🎯 Objetivos Didáticos

Para Aulas de Banco de Dados:

  1. Modelagem de Relacionamentos no Prisma: Modelagem de relações 1:N (Categoria/Produto, Cliente/Pedido) e N:M (Pedido/Produto através da tabela associativa ItemPedido contendo atributos adicionais de preço histórico e quantidade) no arquivo unificado schema.prisma.
  2. Mapeamento Objeto-Relacional (ORM): Mapeamento físico, estratégias de carregamento eager/lazy de relações via seletores do Prisma, chaves estrangeiras e integridade referencial com exclusão em cascata.
  3. Gerenciamento de Migrações: Uso das ferramentas de linha de comando do Prisma Migrate para gerar e aplicar migrações físicas versionadas de banco de dados.

Para Aulas de Engenharia de Software:

  1. Arquitetura em Camadas (NestJS): Divisão de responsabilidade modular rígida (Módulos, Controllers, Services e DTOs) demonstrando padrões SOLID e Inversão de Controle (IoC).
  2. Segurança e JWT (Stateless): Autenticação stateless baseada em tokens JWT (geração, validação e autorização por papéis - ADMIN e USER) utilizando guards e interceptadores do NestJS e Passport.
  3. Padrões de Projeto & DTOs: Injeção de Dependências nativa, padrão DTO com validação automática no NestJS (class-validator) e tratamento centralizado de erros de banco de dados via Filtros de Exceção.
  4. DevOps e CI/CD Duplo: Conteinerização com Docker (multi-stage) de ambas as aplicações, empacotamento estático otimizado do React com Vite e pipelines automatizados do GitHub Actions.

📚 Módulos do Curso


Voltar para Projetos