El backend de MrAppy proporciona la lógica del lado del servidor, manejando autenticación, gestión de equipos, reseñas y otros servicios esenciales para la funcionalidad de la aplicación.
- Node.js: Entorno de ejecución de JavaScript.
- Express: Framework minimalista para servidores web.
- Sequelize: ORM para gestionar la base de datos relacional.
- JWT: Manejo de tokens para autenticación segura.
- Nodemailer: Envío de correos electrónicos.
- MySQL: Base de datos relacional para almacenar información de usuarios, equipos, reseñas, entre otros.
src/
├── controllers/
│ ├── authController.js
│ ├── reviewController.js
│ ├── teamController.js
│ ├── testController.js
│ ├── userController.js
├── middlewares/
│ ├── authenticateToken.js
│ ├── upload.js
├── models/
│ ├── recoveryTokenModel.js
│ ├── reviewModel.js
│ ├── teamModel.js
│ ├── userModel.js
├── routes/
│ ├── authRoutes.js
│ ├── reviewRoutes.js
│ ├── teamRoutes.js
│ ├── testRoutes.js
│ ├── userRoutes.js
├── utils/
│ ├── sendEmail.js
│ ├── utils.js
├── validations/
│ ├── auth.Validation.js
│ ├── generic.Validation.js
├── db.js
├── index.js
- Autenticación:
- Registro, inicio de sesión, cierre de sesión y recuperación de contraseñas.
- Middleware para validación de tokens y control de acceso basado en roles.
- Gestión de Equipos:
- Creación y gestión de equipos.
- Manejo de invitaciones y asignación de roles.
- Reseñas del Equipo:
- Creación y visualización de reseñas.
- Integración con estados de ánimo y visibilidad para gerentes.
- Subida de Archivos:
- Gestión de fotos de perfil y validaciones de tamaño/formato.
Método | Endpoint | Descripción |
---|---|---|
POST | /auth/register |
Registro de nuevos usuarios |
POST | /auth/login |
Inicio de sesión |
POST | /auth/logout |
Cierre de sesión |
POST | /auth/forgot-password |
Solicitud de cambio de contraseña |
POST | /auth/change-password |
Cambio de contraseña |
Método | Endpoint | Descripción |
---|---|---|
GET | /team/ |
Obtener detalles del equipo actual |
GET | /team/users |
Obtener miembros del equipo actual |
GET | /team/:id_team |
Obtener detalles de un equipo por ID |
Método | Endpoint | Descripción |
---|---|---|
GET | /review/ |
Obtener reseñas del usuario actual |
POST | /review/ |
Crear una nueva reseña |
Método | Endpoint | Descripción |
---|---|---|
GET | /user/ |
Obtener detalles del usuario actual |
POST | /user/upload-photo |
Subir foto de perfil |
- Node.js >= 14.x
- npm o yarn
- Base de datos MySQL
-
Clonar el repositorio:
git clone https://github.com/JordiLara/Backend-Mr-Appy.git
-
Instalar dependencias:
npm install # o yarn install
-
Configurar variables de entorno: Crear un archivo
.env
basado en el ejemplo.env.example
y completar con los datos necesarios (credenciales de base de datos, JWT_SECRET, etc.). -
Inicializar la base de datos:
npm run db:sync
-
Ejecutar el servidor:
npm run start
-
El servidor estará disponible en:
http://localhost:3000
Si quieres contribuir a este proyecto, por favor sigue estos pasos:
- Haz un fork del repositorio.
- Crea una nueva rama (
git checkout -b feature/nueva-funcionalidad
). - Haz tus cambios y haz un commit (
git commit -m "Agregué una nueva funcionalidad"
). - Envía tus cambios al repositorio remoto (
git push origin feature/nueva-funcionalidad
). - Crea un pull request para que tus cambios sean revisados.
Si tienes preguntas o comentarios, ¡no dudes en contactarnos! 😊