Skip to content

VictorHugo-7/S3-Site-MauaEsports

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Site Mauá Esports

Site desenvolvido para a entidade Mauá Esports.
O site consiste em centralizar e facilitar a administração das atividades esportivas, incluindo a gestão dos horários de treino, das horas PAE dos alunos e das informações sobre os times e campeonatos.

Status

✔ Concluído.

Funcionalidades

Usuário (Sem Login):
    . Fazer Login (Microsoft)
    . Visualizar Informações (Mauá Esports)
    . Visualizar Twitch
    . Visualizar Times(Membros e Administradores)
    . Visualizar Campeonatos
    . Visualizar Novidades
    . Visualizar Termos e Políticas
    . Enviar Mensagem para Mauá Esports

Usuário (Com Login):
    . Todas as funções disponíveis para o usuário
    . Visualizar Treinos
    . Visualizar Horas PAEs
    . Editar Perfil

Administrador:
    . Todas as funções disponíveis para o usuário
    . Administrar Site
    . Editar Site

Tecnologias

React Tailwind CSS Vite Node.js MongoDB MSAL - Microsoft Python Azure Figma

Protótipo

Participantes

Nome
Alvaro Nogueira Junqueira Souza
Antônio Vítor Bozzo de Napoli
Felipe Brito Moulin Rodrigues
Guilherme Viana Fim
Luan Camara Lopes
Victor Hugo Pinho

Dependência

@azure/msal-browser       | versão ^4.11.1      | Biblioteca para autenticação Microsoft Azure AD no navegador.
@azure/msal-react         | versão ^3.0.11      | Componentes React para integração com Microsoft Authentication Library.
@tailwindcss/vite         | versão ^4.0.14      | Plugin Vite para integração com Tailwind CSS.
aos                       | versão ^2.3.4       | Biblioteca para animações on-scroll (Animate On Scroll).
axios                     | versão ^1.8.4       | Biblioteca para requisições HTTP.
bcrypt                    | versão ^5.1.1       | Hashing de senhas para segurança.
body-parser               | versão ^1.20.3      | Middleware para parsing de corpo de requisições HTTP.
cors                      | versão ^2.8.5       | Habilita CORS para requisições entre origens.
dotenv                    | versão ^16.4.7      | Gerenciamento de variáveis de ambiente.
exceljs                   | versão ^4.4.0       | Biblioteca para criar e manipular arquivos Excel.
express                   | versão ^4.21.2      | Framework para criar servidores web e APIs.
express-validator         | versão ^7.2.1       | Middleware para validação de dados em Express.
framer-motion             | versão ^12.10.0     | Biblioteca para animações e transições em React.
jsonwebtoken              | versão ^9.0.2       | Geração e verificação de tokens JWT.
lucide-react              | versão ^0.503.0     | Biblioteca de ícones SVG para React.
mongoose                  | versão ^7.0.0       | ODM para trabalhar com MongoDB em Node.js.
mongoose-unique-validator | versão ^4.0.1       | Validação de unicidade para Mongoose.
multer                    | versão ^1.4.5-lts.2 | Middleware para upload de arquivos em Node.js.
path                      | versão ^0.12.7      | Utilitários para trabalhar com caminhos de arquivo.
pdfkit                    | versão ^0.17.1      | Biblioteca para geração de documentos PDF.
react                     | versão ^18.2.0      | Biblioteca JavaScript para construção de interfaces de usuário.
react-dom                 | versão ^18.2.0      | Renderização do React no DOM.
react-easy-crop           | versão ^5.4.1       | Componente React para cropping de imagens.
react-icons               | versão ^5.5.0       | Biblioteca de ícones populares para React.
react-markdown            | versão ^10.1.0      | Componente React para renderização de Markdown.
react-quill               | versão ^2.0.0       | Editor de texto rico para React baseado em Quill.
react-router-dom          | versão ^7.3.0       | Roteamento para aplicações React.
react-tooltip             | versão ^5.28.1      | Componente de tooltip para React.
rehype-raw                | versão ^7.0.0       | Plugin para processar HTML raw em Markdown.
remark-gfm                | versão ^4.0.1       | Plugin para suporte ao GitHub Flavored Markdown.
styled-components         | versão ^6.1.16      | Biblioteca para estilização de componentes React com CSS-in-JS.
tailwindcss               | versão ^4.0.14      | Framework CSS utilitário para estilização rápida.
uuid                      | versão ^11.1.0      | Geração de identificadores únicos universais.
ws                        | versão ^8.18.2      | Biblioteca WebSocket para Node.js.

Como Utilizar

Requisitos:
    . Node.js 16+ para executar o backend e frontend (Vite)
    . npm como gerenciador de pacotes
    . MongoDB 5.0+ para banco de dados NoSQL
    . Python 3.10+ (caso deseje gerar relatórios via /src/horas-pae-relatorios)
    . IDE (VS Code recomendado)

Execução:
    1. Clone o repositóro                           | git clone https://github.com/VictorHugo-7/S3-Site-MauaEsports
    
    2. Navegue até o diretório do projeto           | cd maua-esports
    
    3. Instale as dependências                      | npm install
    
    4. Configure as variáveis de ambiente           | PORT=3000
                                                    | MONGO_URI=mongodb://localhost:27017/nome-do-banco
    
    5. Inicialize o servidor                        | npm run dev
    
    6. API para Relatórios de Horas PAEs (OPCIONAL) | cd/maua-esports/src/horas-pae-relatorios
                                                    | pip install -r requirements.txt
                                                    | python app.py

Como Rodar os testes

1. Clone o repositóro                 | git clone https://github.com/VictorHugo-7/S3-Site-MauaEsports

2. Navegue até o diretório do projeto | cd maua-esports

3. Instale as dependências            | npm install

4. rode todos os testes               | npm test

5. rode um teste específico           | npm test nome_arquivo (exemplo: npm test usuarios.test.cjs)

Contribuição

1. Fork               | Crie uma cópia do repositório no seu perfil

2. Clone              | git clone https://github.com/VictorHugo-7/S3-Site-MauaEsports

3. Crie uma Branch    | git checkout -b minha-branch

4. Faça as Alterações | Edite os arquivos e teste.

5. Commit e Push      | git add .
                      |	git commit -m "Descrição das alterações" 
                      |	git push origin minha-branch

6. Pull Request       | Solicite a inclusão de suas mudanças no repositório original.

Estrutura de Pastas

├── maua-esports/
│	├── src/
│	│   ├── App.jsx
│	│   ├── authConfig.js
│	│   ├── index.css
│	│   ├── main.jsx
│	│   ├── components/
│	│   │   ├── AdicionarAdmin.jsx
│	│   │   ├── AdicionarMembro.jsx
│	│   │   ├── AdicionarTime.jsx
│	│   │   ├── Agendamento.jsx
│	│   │   ├── AlertaErro.jsx
│	│   │   ├── AlertaOk.jsx
│	│   │   ├── CancelarBtn.jsx
│	│   │   ├── CardAdmin.jsx
│	│   │   ├── CardJogador.jsx
│	│   │   ├── CardTime.jsx
│	│   │   ├── DeletarBtn.jsx
│	│   │   ├── EditarBtn.jsx
│	│   │   ├── ImageCropper.jsx
│	│   │   ├── ModalAdicionarAdmin.jsx
│	│   │   ├── ModalAdicionarJogador.jsx
│	│   │   ├── modalConfirmarExclusao.jsx
│	│   │   ├── ModalEditarAdmin.jsx
│	│   │   ├── ModalEditarJogador.jsx
│	│   │   ├── ModalEditarTime.jsx
│	│   │   ├── ModalNovoTime.jsx
│	│   │   ├── ModalUsuario.jsx
│	│   │   ├── NaoAutorizado.tsx
│	│   │   ├── NavBar.tsx
│	│   │   ├── PageBanner.jsx
│	│   │   ├── ProtectedRoute.tsx
│	│   │   ├── Rodape.jsx
│	│   │   ├── SalvarBtn.jsx
│	│   │   ├── UseImageCrop.jsx
│	│   │   ├── campeonatos/
│	│   │   │   ├── AddBtn.jsx
│	│   │   │   ├── Board.jsx
│	│   │   │   ├── Card.jsx
│	│   │   │   ├── CardModal.jsx
│	│   │   │   └── Column.jsx
│	│   │   ├── home/
│	│   │   │   ├── s1Apresentacao/
│	│   │   │   │   ├── Apresentacao.jsx
│	│   │   │   │   └── ApresentacaoModal.jsx
│	│   │   │   ├── s2Twitch/
│	│   │   │   │   └── Twitch.jsx
│	│   │   │   ├── s3Cards/
│	│   │   │   │   ├── Card.jsx
│	│   │   │   │   ├── CardLayout.jsx
│	│   │   │   │   └── CardModal.jsx
│	│   │   │   └── s4Novidade/
│	│   │   │       ├── Novidade.jsx
│	│   │   │       └── NovidadeModal.jsx
│	│   │   ├── padrao/
│	│   │   │   ├── Espaco.jsx
│	│   │   │   └── Margin.jsx
│	│   │   └── politicas/
│	│   │       ├── AddBtn.jsx
│	│   │       ├── ContentSection.jsx
│	│   │       └── Menu.jsx
│	│   ├── fonts/
│	│   │   └── Blinker-Regular.ttf
│	│   ├── horas-pae-relatorios/
│	│   │   ├── app.py
│	│   │   ├── config.py
│	│   │   ├── horas_pae_reporter.py
│	│   │   ├── requirements.txt
│	│   │   ├── fonts/
│	│   │   │   └── DejaVuSans.ttf
│	│   │   └── report-generator/
│	│   │       ├── __init__.py
│	│   │       └── templates/
│	│   │           └── base.html
│	│   └── pages/
│	│       ├── Admins.jsx
│	│       ├── AdminUsuarios.jsx
│	│       ├── Campeonatos.jsx
│	│       ├── Home.jsx
│	│       ├── HorasPae.jsx
│	│       ├── Membros.jsx
│	│       ├── NotFound.jsx
│	│       ├── Novidades.jsx
│	│       ├── Politicas.jsx
│	│       ├── Times.jsx
│	│       └── TreinosAdmin.jsx
│	├── test-results/
│	│   └── junit.xml
│	├── tests/
│	│	├── setup.cjs
│	│	├── integration/
│	│	│   ├── auth.test.cjs
│	│	│   ├── discord.test.cjs
│	│	│   └── api/
│	│	│       ├── admins.test.cjs
│	│	│       ├── home.test.cjs
│	│	│       ├── jogadores.test.cjs
│	│	│       ├── politicas.test.cjs
│	│	│       ├── times.test.cjs
│	│	│       ├── tournaments.test.cjs
│	│	│       ├── upload.test.cjs
│	│	│       └── usuarios.test.cjs
│	│	└── unit/
│	│		├── middleware.test.cjs
│	│		└── models/
│	│			├── admin.test.cjs
│	│			├── jogador.test.cjs
│	│			├── time.test.cjs
│	│			├── tournament.test.cjs
│	│			└── usuario.test.cjs
│	├── .eslintrc.cjs
│	├── .gitignore
│	├── backend.cjs
│	├── declarations.d.ts
│	├── index.html
│	├── jest.config.cjs
│	├── package-lock.json
│	├── package.json
│	├── twitch-service.cjs
│	└─── vite.config.js
├── LICENSE
├── README.md

Estatísticas

Tamanho do Repositório Linguagens

Licença

Veja a licença

About

✔ Concluído. S3- IMT | Site para a entidade Mauá Esports.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 7