El proyecto tiene como objetivo desarrollar una aplicación web utilizando tecnologías de back-end y front-end basadas en principios de programación orientada a objetos (POO). La plataforma conectará a empleadores con solicitantes de empleo, permitiendo la publicación de ofertas de trabajo y la búsqueda de oportunidades laborales.
-
Roles de Usuario:
- Buscadores de Empleo: Pueden buscar empleos, crear perfiles y postularse a ofertas de trabajo.
- Empleadores: Pueden publicar ofertas de empleo, administrar candidatos y actualizar sus perfiles de empresa.
- Administradores: Pueden gestionar todos los usuarios y moderar las publicaciones de trabajo.
-
Autenticación y Autorización:
- Registro de usuarios e inicio de sesión.
- Control de acceso basado en roles.
-
Ofertas de Trabajo:
- Creación, edición y eliminación de ofertas de empleo.
- Información detallada sobre cada oferta: título, descripción, salario, ubicación y tipo de trabajo (tiempo completo, tiempo parcial, etc.).
-
Búsqueda y Filtrado:
- Los solicitantes pueden buscar trabajos por título, ubicación, salario y tipo.
- Opciones de filtrado para refinar resultados.
-
Proceso de Solicitud de Empleo:
- Carga de currículums y cartas de presentación.
- Los empleadores pueden revisar y descargar solicitudes.
-
Perfiles de Usuario:
- Perfiles para solicitantes con datos básicos y preferencias laborales.
- Perfiles para empleadores con detalles de la empresa.
-
Panel de Administración:
- Administración de usuarios y publicaciones.
- Moderación de ofertas de trabajo.
-
Optimización con Redis:
- Cacheo de datos frecuentes como usuarios y ofertas de trabajo.
- Mejora significativa del rendimiento en búsquedas y consultas repetitivas.
-
Front-end:
- HTML5
- CSS3
- JavaScript (POO)
-
Back-end:
- Node.js
- Express.js
- MongoDB
- Mongoose
- Redis (caching)
-
Clonar el repositorio:
git clone https://github.com/Txaverria/JOBHUNT.git cd Proyecto-TWEB-09 -
Instalar las dependencias:
Asegúrate de tener Node.js y npm instalados. Luego, ejecuta:
npm install
-
Configuración de la base de datos:
- Crea una base de datos en MongoDB (puedes usar MongoDB Atlas para una base de datos en la nube).
- Configura la URI de conexión en un archivo .env ubicado en /api/:
MONGO_URI=tu_cadena_de_conexion_mongodb
-
Configurar Redis:
- Instala Redis en tu máquina local o usa un servidor Redis en la nube.
- Asegúrate de que Redis esté corriendo. Si estás usando WSL:
redis-server- Opcionalmente, configura el host y puerto en el archivo .env:
REDIS_HOST=127.0.0.1
REDIS_PORT=6379- Ejecutar la aplicación::
Abre tu navegador y ve a http://localhost:3000 (o el puerto que hayas configurado).
cd api
npm start- Acceder a la aplicación:
Abre tu navegador y ve a http://localhost:3000 (o el puerto que hayas configurado).
-
Uso:
Este proyecto ofrece las siguientes funcionalidades:
-
Registro de usuarios:
Los usuarios pueden registrarse y seleccionar su rol: solicitante de empleo o empleador. -
Publicar y buscar trabajos:
- Los empleadores pueden publicar ofertas de trabajo.
- Los solicitantes pueden buscar ofertas y postularse a ellas.
-
Panel de administración:
Los administradores pueden gestionar usuarios y publicaciones de forma eficiente.
-
- Isaac Chavarría
- Kevin Liu
- Triani Yuan
Proyecto para el curso TWEB-09 - Programación Web Orientada a Objetos 2024 C3.