Plataforma de Gestão e Acompanhamento de Treinamento para Competições Profissionais
Plataforma de Gestão e Acompanhamento de Treinamento para Competições Profissionais
Plataforma web completa para gestão de treinamento de competidores em competições técnico-profissionais. O sistema permite que avaliadores lancem notas, acompanhem a evolução dos competidores por simulado, controlem tempos de prova e gerem relatórios detalhados de desempenho.
Arquitetura: Clean Architecture (Domain-Driven Design) com separação em camadas -- Domain, Application, Infrastructure e Presentation.
Backend
Python 3.11 com FastAPI (API REST assíncrona)
SQLAlchemy 2.0 (ORM async) + Alembic (migrations)
PostgreSQL via asyncpg
Pydantic v2 para validação de dados e schemas
Autenticação JWT (access + refresh tokens)
Criptografia de campos sensíveis (CPF, telefone) com Fernet (conformidade LGPD)
Middleware de rate limiting, logging estruturado (JSON) e tratamento de erros
Qualidade de código: Black, Ruff, mypy, Bandit, pre-commit hooks
Testes automatizados com pytest + pytest-asyncio
Frontend
React 18 com TypeScript
Vite (build tool)
Tailwind CSS (estilização responsiva com dark mode)
Zustand (gerenciamento de estado)
React Query (cache e sincronização de dados com o servidor)
React Hook Form + Zod (formulários com validação tipada)
Recharts (gráficos interativos de evolução de notas e tempos)
jsPDF + html2canvas (geração de relatórios em PDF)
Axios (cliente HTTP)
Infraestrutura / DevOps
Docker + Docker Compose (ambiente de desenvolvimento containerizado)
Apache (servidor de produção com proxy reverso + SSL/HTTPS)
Let's Encrypt (certificados SSL)
Deploy via SCP + systemd (serviço uvicorn em produção)
Funcionalidades Principais
Gestão de modalidades, competidores e inscrições
Criação de simulados com critérios e subcritérios de avaliação personalizáveis
Lançamento de notas individual e em massa (bulk grading)
Acompanhamento de tempo por competidor com gráfico de evolução
Dashboard interativo com métricas de desempenho, média geral e evolução por simulado
Definição de metas de tempo e pontuação com indicadores visuais
Filtros por modalidade e seleção de competidores nos gráficos
Relatórios de presença e desempenho exportáveis em PDF
Sistema de permissões por perfil (Administrador, Avaliador, Competidor)
Criptografia de dados pessoais sensíveis em conformidade com a LGPD