🛒 TecLoja 02: E-commerce de Tecnologia (FastAPI + Vue 3)

Este projeto demonstra o desenvolvimento de um e-commerce completo de eletrônicos e produtos de tecnologia (TecLoja 02). 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 ao ecossistema Java.

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 declarativo assíncrono com SQLAlchemy 2.0 (Mapped e mapped_column), estratégias de carregamento lazy/eager (selectinload), chaves estrangeiras e deleção física em cascata.
  3. Gerenciamento de Migrações: Uso do Alembic para versionamento de esquema de banco de dados, ilustrando como o banco evolui de forma controlada.

Para Aulas de Engenharia de Software:

  1. Arquitetura em Camadas (Separation of Concerns): Divisão lógica estrita (Roteadores, Serviços, Repositórios, Schemas DTO, Modelos).
  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 dependências do FastAPI.
  3. Padrões de Projeto & SOLID: Injeção de Dependências nativa, padrão DTO (Pydantic v2) para proteção e validação de dados, e tratamento globalizado de exceções.
  4. DevOps e CI/CD Duplo: Conteinerização com Docker (multi-stage) da API Python, empacotamento estático da SPA Vue 3 via Vite e pipelines automáticos de CI/CD no GitHub Actions.

📚 Módulos do Curso


Voltar para Projetos