EPIS · UNSA · Semestre 2026-A

Krayin CRM

Implementación de Scrum y DevOps aplicada a un producto de software Open Source.
Sprint 0 — Planificación

Ronald Camani Chambi
Ing. de Sistemas
Rodrigo Estefanero Palma
Ing. de Sistemas
Diego Schreiber Landeo
Ing. de Sistemas
Fernando Solsol Choque
Ing. de Sistemas
Rodolfo Soria Soncco
Ing. de Sistemas

Presentación de Krayin CRM

Resumen general del software seleccionado, su origen y contexto de uso empresarial.

¿Qué es Krayin CRM y cuál es su origen?
Es un sistema CRM de código abierto desarrollado por la empresa india Webkul. Construido sobre una arquitectura modular con Laravel (PHP) y Vue.js, nació con el objetivo de ofrecer una alternativa flexible, escalable y gratuita frente a plataformas propietarias costosas.

Perfil de Usuarios Objetivo
Está orientado principalmente a PYMES bajo modelos de negocio B2B y B2C (ej. comercio electrónico, agencias de servicios y empresas tecnológicas). El sistema permite gestionar prospectos, centralizar contactos, organizar pipelines de ventas y automatizar actividades comerciales.

Evolución Técnica
Desde sus primeras versiones, ha evolucionado para incorporar integración de correos, automatización de flujos (Workflows) y funciones basadas en inteligencia artificial, como "Magic AI", que extrae automáticamente datos desde documentos PDF e imágenes.

Criterios de Selección

Justificación formal del cumplimiento de los criterios establecidos en la rúbrica académica.
Licencia MIT Verificada
Licencia oficial en el repositorio de GitHub que permite modificar, distribuir y reutilizar el código libremente.
Dominio Empresarial
Pertenece al rubro CRM, enfocado en la gestión de clientes, automatización de ventas y relaciones comerciales.
Stack Tecnológico Moderno
Desarrollado con Laravel (Backend PHP), Vue.js (Frontend interactivo) y MySQL como base de datos relacional.
Complejidad Media-Alta
Supera ampliamente las 10,000 líneas de código (>10K LOC) y cuenta con más de 4,000 commits. Su arquitectura modular integra múltiples paquetes (Leads, Contacts, Quotes, etc.).
Infraestructura Docker Compose
Cuenta con soporte oficial y repositorio dedicado para Docker (krayin-docker), facilitando la virtualización y el pipeline CI/CD.

Funcionalidades Principales

Identificación y descripción de los módulos clave del sistema y los procesos de negocio que resuelven.
🎯

Módulo: Lead

Núcleo del sistema. Gestiona el pipeline comercial desde la captura hasta el cierre. Incluye tablero Kanban personalizable y creación automática desde PDF/imagen mediante Magic AI.

👥

Módulo: Contact

Directorio maestro. Subdividido en Person (individuo) y Organization (empresa). Evita duplicar información y garantiza que cada prospecto se asocie a una entidad real.

📅

Módulo: Activity

Seguimiento comercial. Registra interacciones (Llamada, Reunión, Almuerzo) vinculadas a los leads. Ofrece vista de calendario, asignación de participantes y filtros.

📦

Módulos: Quote / Product

Propuestas formales. Paquetes integrados en packages/Webkul/ que permiten gestionar el catálogo y crear cotizaciones formales para cerrar el proceso de ventas.

🔄

Flujo Integrado

Ciclo de negocio:
1. Contact (se crea primero)
2. Lead (entra al pipeline)
3. Activity (seguimiento)
4. Quote (propuesta con productos)

Arquitectura del Sistema

Análisis técnico del patrón arquitectónico y la comunicación entre las tecnologías principales.
FRONTEND

Vue.js & Blade — Gestiona la interfaz de usuario mediante componentes reactivos. Se integra con el motor de plantillas Blade para crear una experiencia dinámica, comunicándose de forma asíncrona con el servidor vía peticiones HTTP (Axios/API REST) para actualizar la vista sin recargar la página.

BACKEND

PHP / Laravel (MVC) — Centraliza la lógica de negocio. Los Controladores interceptan las peticiones, aplican reglas comerciales y utilizan los Modelos (Eloquent ORM) para el manejo de datos. Retornan respuestas JSON para Vue.js o renderizan las Vistas iniciales.

BASE DE DATOS

MySQL — Actúa como la capa de persistencia estructurada. El sistema utiliza migraciones nativas de Laravel para definir y versionar el esquema relacional, garantizando la integridad referencial entre entidades como leads, contactos y actividades.

Arquitectura Basada en Paquetes y Flujo MVC:
Krayin opera bajo un patrón MVC estricto, pero potenciado por una arquitectura modular. En lugar de un sistema monolítico, la lógica se divide en paquetes independientes (Packages) dentro del directorio packages/Webkul/. Cada módulo funciona con su propio ServiceProvider.

El ciclo de comunicación: Cuando un usuario realiza una acción en la interfaz (Vista - Vue.js), se emite una petición al Router de Laravel. Este delega la tarea al Controlador específico del paquete correspondiente. El Controlador invoca al Modelo para consultar o escribir en MySQL. Una vez que la base de datos responde, el Controlador empaqueta los datos y los envía de vuelta al Frontend, donde Vue actualiza reactivamente la pantalla del usuario, completando así el ciclo MVC sin interrupciones.

Alcance de Mejora

Propuesta concreta de mejoras y refactorizaciones a implementar durante los próximos Sprints.

Mejora 1 — Optimización de vistas y UX en el frontend

Se propone mejorar el rendimiento y la organización visual de las vistas principales del CRM, especialmente en los módulos de clientes, leads y actividades. La mejora incluirá la reducción de tiempos de carga mediante optimización de consultas y componentes Blade/Vue, así como una reorganización visual de tablas y formularios para facilitar la navegación y el uso del sistema.

Mejora 2 — Traducción y adaptación completa al español

Se plantea completar la internacionalización del sistema traduciendo al español las secciones que aún permanecen en inglés, incluyendo mensajes de validación, módulos administrativos y notificaciones. Además, se buscará unificar términos técnicos y comerciales para ofrecer una experiencia más clara y amigable para usuarios hispanohablantes.

Mejora 3 — Refactorización de controladores y reportes básicos

Se propone refactorizar controladores con alta carga lógica, separando responsabilidades mediante servicios o repositorios para mejorar la mantenibilidad del código. Como complemento funcional, se añadirá un módulo básico de reportes que permita visualizar estadísticas de leads, clientes y oportunidades de venta mediante filtros por fecha y estado.

Cronograma de Sprints

Ciclos de 15 días calendario. Cada Sprint tiene un entregable concreto y una fecha de cierre estricta.
Sprint 0 — Planificación Entrega: 13 may 2026

Plan de proyecto, configuración de herramientas, análisis inicial del repositorio y definición del alcance de mejora. (15% de la nota final)

🏁 Hito 1
Sprint 1 — Desarrollo Inicial 14 may → 28 may 2026

Primera iteración de desarrollo: configuración del entorno Docker, primeras User Stories implementadas y pipeline CI/CD inicial en GitHub Actions.

Sprint 2 — CI/CD y Scrum Completo 29 may → 12 jun 2026

Software funcional con integración CI/CD completa, flujo Scrum documentado (Daily Scrum, Sprint Review, Retrospectiva) y despliegue automático.

🏁 Hito 2 — Entrega: 10 jun 2026
Sprint 3 — Mejoras y Automatización 13 jun → 27 jun 2026

Implementación de las mejoras propuestas, refactorizaciones planificadas y automatización avanzada del despliegue.

Sprint 4 — Documentación e Informe IEEE 28 jun → 12 jul 2026

Redacción del informe final en formato IEEE, retrospectiva general del proyecto, métricas de DevOps y presentación ejecutiva al equipo docente.

🏁 Hito 3 — Entrega: 13 jul 2026