Detalles sobre el proceso de desarrollo, arquitectura y despliegue del sistema.
1) Requerimientos Recolectados
Los requerimientos iniciales fueron proporcionados por el equipo de Liverpool. Se consideraron las necesidades funcionales y no funcionales, tomando en cuenta las siguientes especificaciones clave:
-
Desarrollo de un sistema de gestión eficiente para el área de reclutamiento y candidatos.
-
Integración de APIs externas para optimización de procesos.
-
Interfaz amigable y fácil de usar, que fuera escalable.
2) Diseño
Para visualizar cómo debería funcionar el sistema, el equipo de diseño desarrolló unos templates en Figma que servían como guía visual. Estos templates ayudaron a entender mejor la disposición y el flujo del sistema.
Por el tiempo limitado, solo se pudieron hacer algunas ideas iniciales. El resto de la funcionalidad fue definida conforme al avance del proyecto y las necesidades del cliente.
3) Arquitectura
Durante el análisis de proyecto, se decidió usar el patrón Modelo-Vista-Template (MVT) de Django. Esta arquitectura es ideal para separar la lógica de negocio, la interfaz de usuario y los datos de forma eficiente.
Arquitectura de Django
# Ejemplo de la estructura típica de Django
Proyecto/
├── manage.py
├── sistema/ # Carpeta del proyecto Django
│ ├── settings.py # Configuración global
│ ├── urls.py # Enrutamiento de URLs
│ └── wsgi.py # Entrada para servidores WSGI
├── apps/
│ ├── reclutamiento/ # Módulo para gestión de reclutamiento
│ ├── candidatos/ # Módulo para gestión de candidatos
│ └── api/ # Módulo para integración con APIs
└── db.sqlite3 # Base de datos SQLite
La estructura de Django nos permitió separar las funcionalidades en módulos específicos, facilitando la integración y el mantenimiento del código.
4) Frontend y Diseño
En cuanto al frontend, se utilizó HTML y CSS para desarrollar la interfaz de usuario. El diseño fue optimizado para asegurar una experiencia fluida y responsiva en dispositivos móviles y de escritorio.
5) Desarrollo
Para el desarrollo del sistema, se usó GitHub para gestionar el código fuente y la colaboración entre el equipo. Se dividió el trabajo en módulos específicos para asegurar que cada parte del sistema fuera implementada por el equipo correspondiente.
-
Modulo de reclutamiento: encargado de gestionar los procesos de reclutamiento.
-
Modulo de candidatos: encargado de gestionar la base de datos de los candidatos.
-
Modulo de APIs: para integrar servicios externos como Gemini AI.
El equipo se encargó de trabajar en su módulo asignado, y se realizaron integraciones a través de Pull Requests (PRs) y revisiones de código.
6) Implementación y Despliegue
El sistema está desplegado y accesible en el siguiente enlace:
Este enlace lleva al sistema en producción, donde los usuarios pueden interactuar con las funcionalidades implementadas hasta el momento.