3. Requisitos de interfaces externas - migueltovarb/ISWREQUERIMIENTOS202502-2MarioZaMu GitHub Wiki

3.1 Interfaces de Usuario

La Plataforma de Bolsa de Trabajo cuenta con una interfaz web moderna, interactiva y completamente responsiva, desarrollada bajo los estándares HTML5, CSS3, JavaScript y Bootstrap 5. Todas las pantallas mantienen una línea visual uniforme basada en colores azules, grises y blanco, transmitiendo profesionalismo y claridad para facilitar la navegación de candidatos, empresas y administradores.

Características generales del diseño

  • Diseño corporativo en azul (#003366) y gris

  • Completamente responsive para todos los dispositivos

  • Componentes clave: Botón 'Postularme', paneles de usuario, formularios

  • Pantallas principales: Inicio, ofertas, postulaciones, panel empresarial

  • Cumpliendo las especificaciones de estilo y usabilidad"

Antes:

Después

3.2 Interfaces de Hardware

No aplica

3.3 Interfaces de Software

Sistema Operativo

El sistema es compatible con múltiples entornos operativos para garantizar accesibilidad desde cualquier dispositivo:

  • Windows 10 y superior

  • Linux (Ubuntu Server 20.04+, Debian, CentOS)

  • macOS 12+

  • Sistemas operativos móviles:

  • Android

  • iOS

Navegadores Web Soportados

  • La plataforma funciona correctamente en los siguientes navegadores modernos:

  • Google Chrome (versión recomendada 90+)

  • Mozilla Firefox (85+)

  • Safari (14+)

  • Microsoft Edge (90+)

Todos deben tener habilitado:

  • JavaScript

  • Cookies

  • Conexiones HTTPS

Dependencias de Software

El sistema utiliza varios componentes de software para operar correctamente:

Backend

  • Python 3.12+

  • Flask 3.0 (framework principal)

  • Flask-SQLAlchemy (ORM para interacción con BD)

  • Flask-Login / Flask-WTF (autenticación + validación de formularios)

Base de Datos

  • MySQL 8.0 o PostgreSQL 14+ (modo producción)

  • SQLite 3.45 (modo desarrollo)

Frontend

  • HTML5 / CSS3

  • Bootstrap 5.3 (interfaz responsiva)

  • JavaScript ES2022

  • AJAX para peticiones asíncronas

Servicios Externos

Servidor SMTP (Gmail, Outlook o servidor propio)

  • Para envío de confirmaciones, alertas y notificaciones.

Servicios de almacenamiento de archivos (opcional):

  • Amazon S3, Google Drive API, Azure Storage

  • Para almacenamiento de CV y documentos.

API REST externas (opcional):

  • Autenticación empresarial (OAuth 2.0)

  • Estadísticas, analítica o validación de empresas.

3.4 Interfaces de Comunicación

Protocolos de Comunicación

El sistema utiliza protocolos estándar y seguros para garantizar la correcta interacción entre los distintos componentes:

  • HTTP / HTTPS para comunicación entre navegador y servidor.

  • SMTP para el envío de correos electrónicos (confirmaciones, notificaciones de postulaciones, recuperación de contraseña).

  • WebSocket (opcional) para notificaciones en tiempo real dentro del panel del usuario.

  • REST / JSON para integraciones con servicios externos como almacenamiento de CV, autenticación corporativa o APIs públicas.

Formatos de Datos

El sistema emplea formatos modernos y ampliamente soportados para intercambio visual y estructurado de información.

  • HTML5 y CSS3 para la presentación de la interfaz de usuario.

  • JSON para intercambio de información entre frontend y backend.

  • PDF para exportación de reportes del administrador y de empresas.

  • PNG / JPG para carga de fotos de perfil o logos empresariales.

  • CSV / XLSX (opcional) para exportación de datos de postulaciones.

Seguridad en las Comunicaciones

Todas las comunicaciones del sistema se encuentran protegidas mediante mecanismos de cifrado y validación.

  • Implementación de SSL/TLS para transmisión segura de datos entre cliente y servidor.

  • Cifrado de contraseñas y datos sensibles en tránsito y en reposo.

  • Validación de certificados digitales en integraciones con APIs externas.

  • Autenticación basada en tokens / sesiones seguras, evitando accesos no autorizados.

  • Protección contra ataques comunes: CSRF, XSS, inyección SQL, fuerza bruta.