Este projeto faz parte da plataforma GenoTech, que é dividida em dois repositórios:
- 🎨 Frontend: https://github.com/Rochagx/genotech-frontend
- 🖥 Backend: https://github.com/Rochagx/genotech-backend
Este é o repositório do backend para o projeto GenoTech, uma plataforma educacional interativa focada em genética e biotecnologia.
- Node.js
- Express.js
- MySQL (via mysql2)
- Cors
- Multer (para upload de arquivos)
- SendGrid (para envio de e-mails)
- dotenv (para gerenciamento de variáveis de ambiente)
- Axios (para requisições HTTP)
- reCAPTCHA (para proteção contra bots)
-
Autenticação de Usuários
- Login de usuário com verificação reCAPTCHA
- Login de administrador
- Registro de novos usuários
-
Gerenciamento de Perfil
- Atualização de informações do usuário
- Upload de imagem de perfil
-
Sistema de Pontuação e Ranking
- Atualização de pontos e XP dos usuários
- Exibição de ranking de usuários
-
Recuperação de Senha
- Geração de token para recuperação de senha
- Envio de e-mail com link para redefinição de senha
-
Painel de Administração
- Visualização de todos os usuários
- Edição e remoção de usuários
-
Integração com Frontend
- Servindo arquivos estáticos do frontend
- Rotas API para comunicação com o frontend
app.js: Arquivo principal do servidor/uploads: Diretório para armazenamento de imagens de perfil- Rotas principais:
/api/login: Login de usuário/api/admin/login: Login de administrador/api/register: Registro de novo usuário/api/user/:id: Busca de dados do usuário/api/user/update/:id: Atualização de perfil do usuário/api/ranking: Obtenção do ranking de usuários/api/recuperar-senha: Recuperação de senha/api/redefinir-senha: Redefinição de senha
- Uso de reCAPTCHA para proteção contra bots no login
- Armazenamento seguro de senhas
- Tokens para recuperação de senha
- O backend está configurado para ser hospedado na Vercel