Plataforma para la gestión de seguros
Resumen del proyecto
1. Objetivo del cliente
A. Objetivo principal del proyecto y requisitos clave del negocio
El cliente cuenta con una empresa de seguros y requería un sistema integral para la informatización del proceso de comercialización de:
- Seguros de viajes desde el exterior
- Seguros de viajes hacia el exterior
- Seguros de gastos médicos
- Seguros de automotor
- Seguros de responsabilidad civil
- Seguros de incendio
- Seguros de vida
B. Funcionalidades más relevantes solicitadas por el cliente
La solución debía abarcar:
- La creación y gestión de pólizas
- La generación de reportes de ventas
- La facturación de liquidaciones y consolidados
- El envío de notificaciones automatizadas a los clientes ante el vencimiento de pólizas o de pagos.
Para responder a estas necesidades, se diseñó una solución modular, compuesta por un módulo independiente para cada tipo de seguro, lo que permite una gestión flexible, escalable y adaptable al crecimiento del negocio.
C. Restricciones técnicas o comerciales claves
El sistema debía soportar la autenticación de múltiples usuarios operando de manera simultánea, permitiendo la venta y gestión concurrente de múltiples pólizas. Para ello, se implementó un manejo adecuado de la concurrencia a nivel de base de datos, garantizando la integridad de la información incluso cuando varias acciones se realizaban sobre una misma póliza al mismo tiempo.
Asimismo, el sistema incorporó el envío de notificaciones por correo electrónico, para lo cual se implementó un sistema de colas que permitió evitar cuellos de botella en el servidor de correo y asegurar un procesamiento eficiente. Se automatizó el envío de reportes en horarios predefinidos, facilitando la toma de decisiones por parte del personal administrativo.
Adicionalmente, se desarrolló un módulo de gestión contable que registraba todos los pagos y reembolsos realizados dentro de la empresa, junto con un sistema de análisis y previsión de métricas basado en la información almacenada en la base de datos.
D. Tipo de sistema: plataforma pública o sistema interno/privado
El sistema corresponde a una solución tecnológica privada, desarrollada para uso exclusivo de la empresa y su personal autorizado.
2. Detalles sobre su contribución
A. Tecnologías y frameworks utilizados
Para el desarrollo de la aplicación se empleó un stack tecnológico moderno y robusto.
En el backend se utilizó PHP 8.3 junto con el framework Laravel 12, garantizando una arquitectura sólida y escalable.
En el frontend se implementó Node.js 23 con Vue 3, apoyándose en la biblioteca de componentes Ant Vue Design para una interfaz de usuario consistente y eficiente.
Como sistema de gestión de base de datos se utilizó PostgreSQL, asegurando integridad, rendimiento y confiabilidad en el manejo de la información.
B. Arquitectura de la solución y componentes técnicos claves
El producto fue desarrollado con un enfoque modular, donde cada módulo representa un tipo de seguro específico. Asimismo, la arquitectura general de la solución está basada en microservicios, lo que permite una mayor escalabilidad, mantenibilidad y flexibilidad del sistema.
C. Desarrollos e integraciones a medida (pasarelas de pago, servicios de terceros, API, ERP/CRM, etc.)
Para el desarrollo de la plataforma se integraron pasarelas de pago, permitiendo la automatización de los procesos de pago por parte de los clientes. Adicionalmente, se realizó la integración con un sistema interno de apoyo a la toma de decisiones, proporcionando información en tiempo real sobre el comportamiento de las ventas de seguros y facilitando a los órganos de dirección la adopción de decisiones oportunas y fundamentadas.
D. Principales desafíos encontrados
Entre los principales retos enfrentados durante el desarrollo del sistema se encontraba:
- La migración e integración de información heredada proveniente de sistemas anteriores, los cuales se encontraban distribuidos, utilizaban distintas bases de datos y manejaban formatos de información heterogéneos.
- El sistema debía ser accesible no solo desde el entorno donde estaba desplegado, sino a nivel nacional, lo que implicaba la necesidad de soportar múltiples usuarios de forma concurrente y garantizar un desempeño estable ante la ejecución simultánea de diversas operaciones.
- La gestión del cuello de botella en el servidor de correo, el cual fue abordado mediante mecanismos que permitieron optimizar el envío de comunicaciones sin afectar el rendimiento general de la plataforma.
- La integración con la pasarela de pagos, lo que implicó la correcta gestión de los distintos estados de las transacciones definidos por dicha pasarela, así como la sincronización y actualización permanente de la información correspondiente en la base de datos, garantizando la consistencia y confiabilidad de los datos
E. Cómo fueron abordados
Para abordar la migración de información heredada, se llevó a cabo un proceso de limpieza, normalización y unificación de los datos, definiendo un modelo de base de datos único que permitiera centralizar tanto la información existente como los nuevos datos y funcionalidades incorporadas al sistema.
En cuanto a la ejecución simultánea de operaciones, se implementó el uso de transacciones a nivel de base de datos, lo que permitió controlar y validar cada operación. Ante cualquier fallo durante una modificación, la transacción era revertida automáticamente, garantizando la integridad y consistencia de la información.
Para mitigar los cuellos de botella en el envío de correos electrónicos, se utilizó el sistema de colas de Laravel, apoyado en workers en ejecución continua. Estas colas contaban con un máximo de tres reintentos y realizaban intentos de envío cada cinco segundos, asegurando un procesamiento eficiente sin afectar el rendimiento del sistema.
Finalmente, para la integración con la pasarela de pagos, se estableció un mecanismo de validación y seguimiento de transacciones, consultando y almacenando el estado de cada operación junto con su información asociada. Esto permitió mantener la base de datos actualizada y disponer de una traza completa ante cualquier incidencia.
F. Seguridad / Cumplimiento
Para garantizar la seguridad de la plataforma, se implementaron medidas tanto a nivel de aplicación como de infraestructura.
A nivel lógico, se incorporaron mecanismos de autenticación y control de accesos, definiendo roles y permisos que aseguraban que únicamente el personal autorizado pudiera acceder a determinadas funcionalidades. La autenticación se implementó mediante JSON Web Tokens (JWT), garantizando que cada solicitud estuviera debidamente validada. Asimismo, se aseguró el cifrado de la comunicación entre el frontend y el backend, protegiendo la información transmitida.
A nivel de infraestructura, se estableció el acceso a la plataforma exclusivamente a través de una VPN, de modo que cada vendedor pudiera conectarse de forma segura. Esta medida permitió restringir el acceso únicamente a personal autorizado, evitando la exposición pública del sistema y reduciendo significativamente el riesgo de ataques externos.
3. Resumen del éxito del proyecto
A. Composición del equipo del proyecto (roles, no nombres)
El proyecto fue desarrollado por un equipo multidisciplinario, integrado por los siguientes roles clave:
- Jefe de proyecto: Responsable de la planificación, coordinación y seguimiento general.
- Analista funcional: Encargado del levantamiento y validación de requisitos.
- Desarrollador backend: A cargo de la lógica de negocio, APIs y gestión de datos.
- Equipo de testing y control de calidad: Encargado de la ejecución de pruebas funcionales, validación de requisitos y aseguramiento de la calidad del producto.
- Equipo de frontend: Encargado de desarrollar la interfaz visual teniendo en cuenta UI/UX.
Esta composición permitió una ejecución equilibrada del proyecto, cubriendo tanto los aspectos técnicos como operativos y de calidad.
B. Cronograma de ejecución
El proyecto comenzó en 2022 y en la actualidad se siguen desarrollando nuevos módulos y prestándole soportes a los terminados.
C. Enfoque de desarrollo (ágil / tradicional / híbrido)
Se utilizó una metodología ágil basada en la comunicación constante con el cliente durante todas las etapas del desarrollo. El cliente estuvo involucrado de manera activa y recibió informes mensuales donde se detallaban los progresos del proyecto, las funcionalidades añadidas y los ajustes realizados, facilitando así la adecuación continua del producto a sus requerimientos.
D. Soporte posterior a la entrega
Después de entregado el sistema entra en uso inmediatamente, y se le brinda un soporte por un periodo de tiempo acordado con el cliente, que se mantiene hasta la actualidad.
Categoría
Desarrollo web, móvil y de software:
- QA Testing
- Web & Mobile Desing
- Web Dev
Habilidades
Habilidades básicas:
- PHP 8.3, Laravel 12, Vue 3, PostgreSQL 17
- SoftSkills
- Trabajo en equipo multidisciplinario
- Comunicación efectiva entre frontend y backend
- Resolución de problemas complejos
- Pensamiento analítico y lógico
- Gestión del tiempo y prioridades
- Adaptabilidad a nuevas tecnologías
- Enfoque en experiencia de usuario (UX)
- Responsabilidad y ownership del código
- Capacidad de aprendizaje continuo
- Colaboración en entornos ágiles
Habilidades técnicas:
- Desarrollo backend avanzado con PHP 8.3: Uso de nuevas features del lenguaje, tipado estricto y optimización de performance
- Arquitectura backend con Laravel 12: Diseño de APIs REST escalables, middleware, policies, jobs y colas.
- Diseño y consumo de APIs RESTful: Comunicación eficiente entre frontend, backend y servicios externos.
- Frontend moderno con Vue 3 (Composition API): Componentización, manejo de estado y UI reactiva en tiempo real.
- Base de datos PostgreSQL 17: Modelado de datos, consultas complejas y optimización de índices.
- Seguridad y autenticación de usuarios: Manejo de roles (admin, conductor, pasajero), tokens y protección de endpoints.
- Optimización y escalabilidad de sistemas: Preparación de la app para alta concurrencia y crecimiento de usuarios.