🛒 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:
- Backend (API): Desenvolvido em Python 3.11+ com FastAPI, utilizando o ORM SQLAlchemy 2.0 assíncrono, banco Neon PostgreSQL em produção e deploy em container Docker na Render.
- Frontend (SPA): Desenvolvido em Vue 3 utilizando a Composition API (
<script setup>) com TypeScript, empacotado via Vite, hospedado e distribuído via CDN na Netlify.
🎯 Objetivos Didáticos
Para Aulas de Banco de Dados:
- 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
ItemPedidocontendo atributos como preço histórico e quantidade). - Mapeamento Objeto-Relacional (ORM): Mapeamento declarativo assíncrono com SQLAlchemy 2.0 (
Mappedemapped_column), estratégias de carregamento lazy/eager (selectinload), chaves estrangeiras e deleção física em cascata. - 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:
- Arquitetura em Camadas (Separation of Concerns): Divisão lógica estrita (Roteadores, Serviços, Repositórios, Schemas DTO, Modelos).
- 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.
- 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.
- 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
- Módulo 00: Introdução, Arquitetura e Visão Geral
- Módulo 01: Modelagem e Banco de Dados (ER e SQLAlchemy)
- Módulo 02: Backend - Setup, Alembic Migrations e Seeders
- Módulo 03: Backend - Schemas Pydantic (DTOs) e Exceções Globais
- Módulo 04: Backend - Serviços e Transações Assíncronas
- Módulo 05: Backend - Roteadores REST, CORS e Segurança JWT
- Módulo 06: Frontend - Configuração Vue 3, Vite e Rotas
- Módulo 07: Frontend - Autenticação Reativa, Axios e Layout CSS
- Módulo 08: Frontend - Carrinho Reativo e CRUD com Composition API
- Módulo 09: DevOps - pytest, Docker, CI/CD e Checklist de Validação
- Módulo 10: Mobile - Setup do Capacitor no Vue 3 e Build Nativa
- Módulo 11: Mobile - Integração Nativa (Geolocalização, Preferences) e Design Responsivo
- Módulo 12: Mobile - Splash Screens, Ícones, Otimização de Performance e Geração de APK Assinado
- Módulo 13: QA - Garantia de Qualidade com Testes E2E (Cypress) no Vue 3 e FastAPI