2. Descripción general - migueltovarb/ISWREQUERIMIENTOS202502-2MarioZaMu GitHub Wiki
2.1 Perspectiva del Producto
La Plataforma de Bolsa de Trabajo es un sistema web independiente, modular y escalable, diseñado para digitalizar el proceso de búsqueda, publicación y seguimiento de ofertas laborales entre empresas y candidatos. No pertenece a una familia de productos previa ni reemplaza otro sistema existente, sino que constituye una solución nueva, integral y adaptable a distintos sectores empresariales y niveles profesionales.
El sistema se implementará bajo una arquitectura cliente-servidor, en la cual el frontend (interfaz de usuario) se comunicará con el backend (servidor de aplicación) mediante peticiones HTTP/HTTPS. Toda la información se almacenará en una base de datos centralizada que garantiza la integridad y seguridad de los datos de usuarios, ofertas y postulaciones.
El sistema está orientado a su uso mediante navegadores web modernos, ofreciendo una interfaz intuitiva, responsiva y accesible desde computadoras, tablets o dispositivos móviles.
2.2 Funciones del Producto
La Plataforma de Bolsa de Trabajo es un sistema web que permite la interacción entre tres tipos principales de usuarios: Administrador, Empresa (Reclutador) y Candidato (Usuario final). Cada actor desempeña funciones específicas dentro del proceso de publicación de ofertas, postulación y seguimiento del proceso de selección.
2.3 Clases y Características de Usuario
El sistema cuenta con estos tipos de usuarios: El candidato es un usuario final con conocimientos técnicos básicos, cuya principal motivación es acceder a oportunidades laborales. Este perfil requiere una interfaz amigable, con opciones claras para buscar y postularse a empleos, además de herramientas que le permitan actualizar su información profesional.
Con usuario empresa que posee un nivel técnico intermedio y será responsable de publicar vacantes, revisar postulaciones y actualizar el estado de los procesos de selección. Este perfil necesita una interfaz más funcional y administrativa, orientada a la gestión y visualización de datos.
El ultimo es el administrador. del sistema tendrá acceso avanzado para gestionar usuarios, validar registros, eliminar contenido inapropiado y mantener la estabilidad general del portal. Este rol requiere una interfaz más técnica y herramientas de supervisión y control.
Cada tipo de usuario contará con permisos y accesos definidos según su rol, garantizando la seguridad y segmentación de las funciones del sistema.
2.4 Entorno Operativo
El sistema operará bajo un entorno web y de servidor estándar, con las siguientes especificaciones mínimas:
Hardware Recomendado
Servidor: CPU de 2 núcleos, 4 GB RAM, 20 GB de almacenamiento.
Cliente: Cualquier dispositivo con acceso a navegador moderno (PC, laptop, tablet o smartphone).
Software
Lenguaje Backend: Python 3.12+ o Node.js LTS.
Framework Backend: Django / Express.js.
Frontend: HTML5, CSS3, JavaScript, Bootstrap 5, React o Angular.
Base de Datos: MySQL o PostgreSQL (modo producción) / SQLite (modo desarrollo).
Sistema Operativo del Servidor: Ubuntu Server 22.04 LTS o Windows Server 2022.
Navegadores Compatibles: Google Chrome, Microsoft Edge, Mozilla Firefox y Safari.
El sistema será multiplataforma y responsivo, adaptándose a distintos tamaños de pantalla y garantizando una experiencia fluida tanto en equipos de escritorio como en dispositivos móviles.
2.5 Restricciones de Diseño e Implementación
Lenguaje obligatorio: Python con framework Django (o Node.js con Express según disponibilidad).
Base de datos: MySQL / PostgreSQL (producción) y SQLite (desarrollo).
Seguridad: Cifrado de contraseñas mediante bcrypt o Argon2; uso de HTTPS.
Interfaz web: Desarrollada con HTML5/CSS3 y componentes Bootstrap.
Integración futura: API REST para conexión con aplicaciones móviles y servicios externos (LinkedIn API, correo).
Arquitectura: Basada en modelo MVC (Model-View-Controller).
Restricciones de rendimiento: El tiempo máximo de respuesta del servidor no debe superar los 2 segundos por solicitud.
Normas de accesibilidad: Cumplimiento de los lineamientos WCAG 2.1 para usuarios con limitaciones visuales o motrices.
2.6 Documentación para el Usuario
La plataforma contará con una documentación básica dirigida a los diferentes tipos de usuarios del sistema. Esta incluirá las instrucciones necesarias para el registro, inicio de sesión, uso de las principales funciones y solución de problemas comunes.
Los candidatos podrán consultar cómo crear su perfil, adjuntar su hoja de vida y postularse a vacantes, mientras que las empresas encontrarán una guía sobre la publicación de ofertas y la revisión de postulaciones. Por su parte, los administradores dispondrán de indicaciones para gestionar usuarios y supervisar la actividad general del sistema.
La documentación estará disponible en formato digital dentro de la plataforma, redactada en un lenguaje claro y acompañada de ejemplos e ilustraciones que faciliten su comprensión.
2.7 Suposiciones y Dependencias
Suposiciones:
Los usuarios cuentan con acceso estable a Internet.
Los dispositivos utilizados soportan navegadores modernos con JavaScript habilitado.
Los administradores tienen conocimientos básicos en gestión de plataformas web.
El servidor y la base de datos permanecerán activos de forma continua.
Dependencias:
Dependencia del framework: Django/Express y sus librerías principales (ORM, autenticación, validadores).
Dependencia del servicio de correo: SMTP o API (SendGrid, Mailgun) para envío de notificaciones.
Dependencia de almacenamiento: servicio local o en la nube (AWS S3, Google Cloud Storage).
Dependencia de API externa: servicios de localización o validación de empresas (Google Maps API, LinkedIn API).
Dependencia futura: integración con portales laborales externos o redes profesionales.