Plataforma web para gestão de campeonatos de Lutas, com funcionalidades como cadastro de eventos, inscrições de atletas, geração automática de chaves.
- 🔗 Produção: conectalutas.netlify.app
- 💻 Repositório: GitHub Conecta Lutas
- 📘 Documentação da API: Swagger API
- 🎨 Figma (Design): Protótipo no Figma
- 📋 Documentação: Notion do Projeto
| Nome | Responsabilidade |
|---|---|
| Jeniffer Souza | Backend |
| Rafael | Frontend |
| Kayque Augusto | Design UI/UX |
| Eric Lucca | Testes |
| Adriano Reis | Testes |
- Cadastro de Atletas e Campeonatos
- Geração Automática de Chaves
- Visualização das Chaves por PDF
- Registro de Pontuação em Tempo Real
- Atualização automática das chaves com resultados
- Exibição de Rankings por atleta
- Histórico de Lutas
- React
- Axios (requisições HTTP)
- React Router DOM (rotas)
- Netlify (deploy)
- C# com ASP.NET Core
- Entity Framework Core
- Swagger (documentação)
- JWT (autenticação)
- Render (deploy da API)
- MySQL
- AWS RDS (hospedagem)
O projeto foi desenvolvido utilizando uma Arquitetura em Camadas, separando responsabilidades em:
- Frontend (Apresentação): Interface com usuários e integração com a API
- Backend (Lógica de Negócio): Processamento de regras, autenticação, geração de chaves etc.
- Banco de Dados: Persistência de dados (usuários, campeonatos, inscrições, resultados)
- Node.js 18+
- .NET SDK 8+
- MySQL Server
cd frontend npm install npm run start
qualidade no commit e versão
Nosso projeto segue uma estratégia de Git com foco em clareza, organização e rastreabilidade:
main: branch principalfeature/<nome>: nova funcionalidadefix/<nome>: correção de errorefactor/<nome>: refatoração de códigohotfix/<nome>: correção urgente em produção
feat: nova funcionalidadefix: correção de bugdocs: mudanças na documentaçãorefactor: melhoria no códigotest: criação ou melhoria de testeschore: tarefas técnicas
Usamos releases GitHub para marcar versões principais do sistema:
v1.0.0: versão inicial funcionalv1.1.0: novas funcionalidadesv1.1.1: correções pequenas
A descrição da release apresenta o que mudou (changelog).
Nosso grupo segue um fluxo padronizado de contribuição via Pull Requests (PRs), com os seguintes passos:
- Crie uma branch nomeada por funcionalidade, exemplo:
feature/inscricao-campeonato - Realize os commits com mensagens descritivas
- Abra uma PR para a branch
main - Preencha o template de PR, marcando o checklist
- Solicite revisão de pelo menos um membro do grupo
- Revise o código de outros membros, comentando sugestões ou problemas encontrados
- Aplique as correções sugeridas (se houver)
- Após aprovação, a PR pode ser mesclada na
main
feature/– novas funcionalidadesfix/– correçõeshotfix/– correções urgentes namainrefactor/– melhorias sem mudança de funcionalidade
feat: adiciona botão de inscrição no card de campeonato fix: corrige erro no cálculo de chaves ao cadastrar lutas
Descreva brevemente o que esta PR faz. Explique o contexto e por que essa mudança é necessária.
- O código segue o padrão de estilo do projeto
- Testes foram escritos ou atualizados para cobrir as mudanças
- O sistema foi testado manualmente e está funcionando
- Não há conflitos com a branch
main - A documentação foi atualizada (quando necessário)
Inclua capturas de tela, logs, prints dos testes Cypress ou GIFs, se aplicável.
Peça revisão de pelo menos uma pessoa do grupo:
@colega1
@colega2
🧪 Rodando os Testes O projeto utiliza Jest e React Testing Library para testes automatizados.
Para rodar todos os testes:
Você pode rodar um teste específico usando: NPM RUN TEST
🧹 Rodando o Linter O projeto utiliza ESLint para padronização de código. npm run lint
Regras do Linter As principais regras de padronização usadas no projeto são:
Obrigatório uso de ponto e vírgula: "semi": ["error", "always"]
Aviso para variáveis não utilizadas: "no-unused-vars": ["warn"]
Aviso para funções vazias: "no-empty-function": ["warn"]
Preferência por funções como expressão: "func-style": ["warn", "expression"]
Preferência por arrow functions em callbacks: "prefer-arrow-callback": ["warn"]
Arrow function sem chaves se possível: "arrow-body-style": ["warn", "as-needed"]
Aviso para uso de console.log: "no-console": ["warn"]
Essas regras estão configuradas no bloco "eslintConfig" do package.json do projeto.
🛠️ Dicas Sempre rode o linter antes de subir código para manter o padrão do projeto. Mantenha os testes atualizados ao criar novas funcionalidades. Consulte a documentação da API no Swagger para detalhes dos endpoints.