Este proyecto es una API RESTful desarrollada para un sistema de evaluación 360 grados para empleados remotos en una empresa de desarrollo de aplicaciones. Está construida utilizando Node.js, Express.js, y MongoDB.
El objetivo principal de este proyecto es proporcionar un backend robusto para gestionar evaluaciones de desempeño de empleados, permitiendo una evaluación integral que incluye feedback de supervisores, compañeros y otros.
- Autenticación y autorización de usuarios con roles de administrador, gerente y empleado.
- Gestión de empleados y departamentos.
- Creación, actualización y seguimiento de evaluaciones.
- Sistema de preguntas y respuestas para evaluaciones.
- Generación de reportes detallados por empleado y departamento.
- Protección contra inyecciones NoSQL y otras amenazas de seguridad.
- Pruebas unitarias e integraciones utilizando Jest.
- Node.js: Entorno de ejecución para JavaScript.
- Express.js: Framework web para Node.js.
- MongoDB: Base de datos NoSQL.
- Mongoose: ODM para MongoDB.
- Jest: Framework de pruebas para JavaScript.
Sigue estos pasos para instalar y configurar el proyecto en tu máquina local:
-
Clona este repositorio:
git clone <URL_DEL_REPOSITORIO> cd <NOMBRE_DEL_REPOSITORIO>
-
Instala las dependencias del proyecto:
npm install
-
Crea un archivo
.env
en la raíz del proyecto y añade las siguientes variables de entorno:PORT=3000 MONGODB_URI=mongodb://localhost:27017/eval360 JWT_SECRET=your_secret_key
-
Inicia el servidor de desarrollo:
npm run dev
-
Abre tu navegador y navega a
http://localhost:3000
.
- Abre tu navegador y navega a
http://localhost:3000/api-docs
.
Puedes importar la colección de Postman para probar las rutas de la API. Puedes encontrar el archivo JSON en la carpeta postman
.
Si tienes alguna pregunta o problema, por favor crea un nuevo issue en este repositorio o contacta conmigo via email.
antes de ejecutar los test crear un archivo .env.test con las siguientes variables de entorno:
PORT=3000
MONGODB_URI=mongodb://localhost:27017/eval360-test
JWT_SECRET=your_secret_key
Para ejecutar los test:
npm run test
Puedes probar la API en el siguiente enlace: https://nolatech-backend-production.up.railway.app/api-docs