🛒 TecLoja: E-commerce de Tecnologia (JDK 17 + Angular Standalone)

Este projeto demonstra o desenvolvimento de um e-commerce completo de eletrônicos e produtos de tecnologia (TecLoja). Ele foi planejado especificamente para ser utilizado como estudo de caso prático nas aulas de Engenharia de Software e Banco de Dados.

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: Modelagem de relações 1:N (Categoria/Produto, Cliente/Pedido) e N:M (Pedido/Produto através de uma tabela associativa complexa ItemPedido contendo atributos como preço histórico e quantidade).
  2. Mapeamento Objeto-Relacional (ORM): Mapeamento JPA com anotações de relacionamento, estratégias de carregamento (FetchType.LAZY vs EAGER), chaves estrangeiras e deleção física em cascata.
  3. Massa de Dados Didática: Uso de scripts SQL e Seeders automatizados com dados reais de produtos eletrônicos para simulação prática.

Para Aulas de Engenharia de Software:

  1. Arquitetura em Camadas (Separation of Concerns): Divisão lógica estrita (Controller, Service, Repository, DTO, Entity).
  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).
  3. Padrões de Projeto & SOLID: Injeção de Dependências, padrão DTO (Data Transfer Object) para proteção de dados das entidades, e tratamento globalizado de exceções.
  4. DevOps e CI/CD Duplo: Conteinerização com Docker (multi-stage) e pipelines de integração e entrega contínua (GitHub Actions) com deploy isolado da API na Render e do Frontend na Netlify.

📚 Módulos do Curso

Parte III: O Ecossistema Mobile Híbrido (Ionic + Capacitor)

Parte IV: Qualidade de Software Frontend


📖 Documentação Técnica


🚀 Guia Rápido de Execução e Testes (Manual do Estudante)

Para simular o ecossistema omnichannel completo em sua máquina local de forma autoguiada e sem erros, siga o roteiro passo a passo abaixo para inicializar e testar cada um dos três componentes principais:

💡 Atalho para Linux/macOS: Use o script interativo run_tecloja.sh para inicializar o ecossistema com um menu TUI colorido sem precisar abrir terminais manualmente:

./run_tecloja.sh

O script detecta automaticamente o emulador de terminal disponível (gnome-terminal, konsole, xterm) e abre janelas separadas para o backend e o frontend. Equivalente Windows: run_tecloja.ps1.


☕ 1. O Servidor Backend (API Spring Boot)

O backend gerencia as regras de negócio, persistência relacional H2, inativação por Soft Delete e segurança stateless.


💻 2. O Portal Web (Angular SPA)

O portal web disponibiliza a vitrine de tecnologia reativa para desktops e o painel de administração de produtos.


📱 3. O Aplicativo Móvel (Ionic + Capacitor Híbrido)

O aplicativo móvel gerencia o consumo omnichannel reativo com persistência nativa e acesso a hardware físico.


Voltar para Projetos