DTIKC
Git
  1. Sistemas
DTIKC
  • Inicio
  • Modelo de Gestión
    • ITIL 4
    • Gestión por Procesos
    • LEAN, BPM & RAD
    • OKR
    • El Nuevo Paradigma de TI
  • Personas
    • Organigrama Funcional
    • Roles y Matriz RACI
      • Matriz RACI - Mesa de Ayuda (N1)
      • Matriz RACI - Soporte Técnico (N2)
      • Matriz RACI - Infraestructura (N3)
      • Matriz RACI Consolidada de la Dirección de Tecnología e Innovación
    • Descriptivos de Puestos
      • Indice
      • Developer RPA & IA con Python
      • Analista de Operaciones y Mesa de Ayuda N1
      • Especialista de Soporte Técnico Nivel 2
      • Senior de Infraestructura
        • Especialista Senior en Infraestructura N3
        • Especialista Junior en Infraestructura N3
    • Medición y Mejora Continua
      • OKRs Generales
      • OKRs Analista de Operaciones y Mesa de Ayuda N1
      • OKR Especialista de Soporte Técnico N2
  • Procesos de Sistemas
    • Indice
    • Proceso de Control de Versiones con Git
    • Proceso de Ejecución de Proyectos para Desarrolladores de Software
    • Procesos de Mesa de Ayuda N1
    • Procesos de Soporte Técnico N2
    • Procesos de Junior de Infraestructura
    • Procesos de Senior de Infraestructura
  • Especificaciones
    • Devs
      • Patrones de Nombrado (Naming Conventions) en Programación
  • Sistemas
    • Indice
    • Prometeo
    • Pegasus
    • Olympus
    • Andromeda
    • FrontBack
    • OServerLogic
    • CServer
    • FbCotizador
    • Oserver
    • MetCotizadores
    • ClassLibrary
    • APIs
      • Chatbase
      • ApiMetPro_Pendientes_Emitir_Get
    • App Services
      • Documento sin título
  • Manuales Usuarios
    • Procedimiento para Recuperar Contraseña de Acceso a Titan
    • Procedimiento de Alta de Agente IP en Keysi
    • Checklist Mantenimiento Soporte N2
    • Manual de Sistema de Gestión
  • Lineamientos y Politicas
    • Acta de Protocolo Home Office
    • Acta de Compromiso: Excelencia Operativa en la Dirección de Tecnologías e Innovación
    • Modelo de Atención Universal de Soporte Técnico Nivel 2
Git
  1. Sistemas

FrontBack

DOCUMENTACIÓN DEL PROYECTO FRONTBACK#

1. INFORMACIÓN GENERAL DEL PROYECTO#

Nombre del proyecto: FrontBack
Descripción y propósito: Aplicación web corporativa que funciona como backend de servicios y frontend para múltiples sistemas del Grupo KC. Integra funcionalidades de gestión de pólizas, solicitudes de pago, facturación, notificaciones, reportes, casos de sistemas, y más. Actúa como capa de integración entre diferentes sistemas (Prometeo, Pegasus, Fortuna, Triton, etc.) y proporciona APIs REST y vistas web para diversos procesos de negocio.
Versión del framework .NET utilizado: .NET Framework 4.8
Tipo de aplicación: Aplicación Web Híbrida (ASP.NET MVC 5.2.7 + ASP.NET Web API 5.2.7)
Fecha de última modificación del proyecto: Diciembre 2025

2. MAPA DE SITIO / ESTRUCTURA DEL PROYECTO#

Estructura de Carpetas#

📁 FrontBack/
├── 📁 App_Data/
│   └── (Datos de aplicación)
├── 📁 App_Start/
│   ├── 📄 BundleConfig.cs
│   ├── 📄 FilterConfig.cs
│   ├── 📄 IdentityConfig.cs
│   ├── 📄 RouteConfig.cs
│   ├── 📄 Startup.Auth.cs
│   └── 📄 WebApiConfig.cs
├── 📁 Areas/
│   └── 📁 HelpPage/
│       ├── 📁 App_Start/
│       │   └── 📄 HelpPageConfig.cs
│       ├── 📁 Controllers/
│       │   └── 📄 HelpController.cs
│       ├── 📁 ModelDescriptions/
│       │   ├── 📄 CollectionModelDescription.cs
│       │   ├── 📄 ComplexTypeModelDescription.cs
│       │   ├── 📄 DictionaryModelDescription.cs
│       │   ├── 📄 EnumTypeModelDescription.cs
│       │   ├── 📄 ModelDescription.cs
│       │   ├── 📄 ModelDescriptionGenerator.cs
│       │   └── [otros archivos de descripción de modelos]
│       ├── 📁 Models/
│       │   └── 📄 HelpPageApiModel.cs
│       ├── 📁 SampleGeneration/
│       └── 📁 Views/
├── 📁 Content/
│   ├── 📁 imgs/
│   ├── 📄 bootstrap.css
│   ├── 📄 bootstrap.min.css
│   ├── 📄 SolicitudPago.css
│   └── 📄 Site.css
├── 📁 Controllers/
│   ├── 📁 Kc/ (Controllers específicos de Grupo KC)
│   │   ├── 📄 AgenteController.cs
│   │   ├── 📄 Bitacora.cs
│   │   ├── 📄 BonosController.cs
│   │   ├── 📄 ConcursosController.cs
│   │   ├── 📄 ConvencionesController.cs
│   │   ├── 📄 EdoctaController.cs
│   │   ├── 📄 FacturasController.cs
│   │   ├── 📄 HeliosController.cs
│   │   ├── 📄 Notificaciones.cs
│   │   ├── 📄 NotificacionesHelios.cs
│   │   ├── 📄 PresupuestosController.cs
│   │   ├── 📄 SolicitudesPagoController.cs
│   │   ├── 📄 TemplatesController.cs
│   │   └── 📄 TritonController.cs
│   ├── 📁 Nf/ (Controllers de namespace NF)
│   │   ├── 📄 Nf_CaseController.cs
│   │   ├── 📄 Nf_DataController.cs
│   │   ├── 📄 Nf_FileController.cs
│   │   ├── 📄 Nf_FrontBack.cs
│   │   ├── 📄 Nf_GridViewController.cs
│   │   ├── 📄 Nf_JobsController.cs
│   │   ├── 📄 NF_IISTaskManager.cs
│   │   └── 📄 NF_SendGrid.cs
│   ├── 📄 AccountController.cs
│   ├── 📄 CasosSistemasController.cs
│   ├── 📄 CoreController.cs
│   ├── 📄 HelpersController.cs
│   ├── 📄 HomeController.cs
│   ├── 📄 IndicadoresController.cs
│   ├── 📄 MailBotController.cs
│   ├── 📄 PolizaOlympusController.cs
│   ├── 📄 ValuesController.cs
│   └── 📄 WebReportController.cs
├── 📁 google/
│   ├── 📄 credentials.json
│   ├── 📁 token.json/
│   ├── 📁 token_mesa_ip.json/
│   └── 📁 token_prometeo_lat/
├── 📁 Library/ (Clases de utilidad/helpers)
│   ├── 📄 GmailSender.cs
│   ├── 📄 HeaderFooterPdf.cs
│   ├── 📄 Notify.cs
│   ├── 📄 SolicitudesDispatcher.cs
│   ├── 📄 TicketsDispatcher.cs
│   └── 📄 ToPdf.cs
├── 📁 Models/
│   ├── 📄 AccountBindingModels.cs
│   ├── 📄 AccountViewModels.cs
│   ├── 📄 IdentityModels.cs
│   └── 📄 ResponsePac.cs
├── 📁 Properties/
│   ├── 📁 DataSources/
│   ├── 📁 PublishProfiles/
│   │   ├── 📄 FrontBack - Web Deploy.pubxml
│   │   └── 📄 Local.pubxml
│   └── 📄 AssemblyInfo.cs
├── 📁 Providers/
│   └── 📄 ApplicationOAuthProvider.cs
├── 📁 Results/
│   └── 📄 ChallengeResult.cs
├── 📁 Scripts/
│   ├── 📁 esm/
│   ├── 📁 src/
│   ├── 📁 umd/
│   ├── 📄 bootstrap.js
│   ├── 📄 bootstrap.min.js
│   ├── 📄 jquery-3.5.1.js
│   ├── 📄 jquery-3.5.1.min.js
│   ├── 📄 modernizr-2.8.3.js
│   └── [otros archivos JavaScript]
├── 📁 Templates/
│   ├── 📄 FactoRequest.json
│   ├── 📄 FactoRequestNoVida.json
│   ├── 📄 FactoResponse.json
│   ├── 📄 FactoTemplate.json
│   └── [otros templates JSON]
├── 📁 Views/
│   ├── 📁 Home/
│   │   └── 📄 Index.cshtml
│   ├── 📁 Shared/
│   │   ├── 📄 _Layout.cshtml
│   │   └── 📄 Error.cshtml
│   ├── 📁 Templates/
│   │   ├── 📄 SolicitudPagoEnviar.cshtml
│   │   ├── 📄 SolicitudPagoPago_Programado.cshtml
│   │   ├── 📄 SolicitudPagoRechazo.cshtml
│   │   ├── 📄 SolicitudPagoPago_Efectuado.cshtml
│   │   ├── 📄 Casos_Sistemas.cshtml
│   │   ├── 📄 Ticket.cshtml
│   │   └── [otros templates de correo]
│   ├── 📁 webreport/
│   │   ├── 📄 Index.cshtml
│   │   ├── 📄 Grid.cshtml
│   │   ├── 📄 FichaAgente.cshtml
│   │   ├── 📄 FichaAgenteHelios.cshtml
│   │   ├── 📄 Poliza.cshtml
│   │   ├── 📄 SolicitudPago.cshtml
│   │   ├── 📄 Ticket.cshtml
│   │   ├── 📄 CasosSistemas.cshtml
│   │   └── [múltiples vistas de reportes]
│   └── 📄 _ViewStart.cshtml
├── 📄 Global.asax
├── 📄 Global.asax.cs
├── 📄 Startup.cs
├── 📄 Web.config
├── 📄 packages.config
└── 📄 Front_Back.csproj

Organización de Namespaces#

FrontBack: Namespace raíz
FrontBack.Controllers: Controllers generales
FrontBack.Controllers.Kc: Controllers específicos de KC (Agentes, Bonos, Helios, etc.)
FrontBack.Controllers.Nf: Controllers de infraestructura y servicios genéricos
FrontBack.Models: Modelos de datos y ViewModels
FrontBack.Library: Librerías de utilidad (PDF, Email, Notificaciones)
FrontBack.Providers: Providers de autenticación OAuth
FrontBack.Areas.HelpPage: Área de documentación de API

Proyectos en la Solución#

La solución contiene 2 proyectos:
1.
Front_Back (Principal) - Aplicación Web ASP.NET MVC + Web API
2.
NF.ClassLibrary (Referencia) - Librería de clases compartidas

Relaciones entre Proyectos#

3. INVENTARIO DE LIBRERÍAS Y DEPENDENCIAS#

NuGet Packages#

LibreríaVersión ActualPropósitoCategoría
EntityFramework6.4.4ORM para acceso a datos SQL ServerORM
Microsoft.AspNet.Mvc5.2.7Framework MVC para vistas webFramework Web
Microsoft.AspNet.WebApi5.2.7Framework para APIs RESTAPI
Microsoft.AspNet.WebApi.Cors5.2.7Soporte CORS para APIsAPI
Microsoft.AspNet.Identity.Core2.2.3Sistema de autenticación y autorizaciónSeguridad
Microsoft.AspNet.Identity.EntityFramework2.2.3Integración de Identity con EFSeguridad
Microsoft.Owin4.1.1Middleware OWINFramework
Microsoft.Owin.Security4.1.1Seguridad y autenticación OWINSeguridad
Microsoft.Owin.Security.OAuth4.1.1Autenticación OAuth2Seguridad
Microsoft.Owin.Security.Google4.1.1Autenticación con GoogleSeguridad
Microsoft.Owin.Security.Facebook4.1.1Autenticación con FacebookSeguridad
Newtonsoft.Json13.0.1Serialización JSONUtilidad
NLog4.7.6Sistema de loggingLogging
EPPlus5.6.3Generación y manipulación de archivos ExcelGeneración Documentos
iTextSharp5.5.13.2Generación de archivos PDFGeneración Documentos
itextsharp.xmlworker5.5.13.2Procesamiento HTML a PDFGeneración Documentos
SendGrid9.28.1Servicio de envío de correosEmail
MailKit4.12.0Cliente SMTP/IMAPEmail
MimeKit4.12.0Procesamiento de mensajes MIMEEmail
Google.Apis1.49.0Cliente base de Google APIsIntegración Externa
Google.Apis.Auth1.49.0Autenticación con GoogleIntegración Externa
Google.Apis.Gmail.v11.49.0.2202API de GmailIntegración Externa
BouncyCastle1.8.9CriptografíaSeguridad
BouncyCastle.Cryptography2.5.1Criptografía modernaSeguridad
DotNetZip1.15.0Compresión y descompresión ZIPUtilidad
LiveCharts0.9.7Generación de gráficosVisualización
LiveCharts.Wpf0.9.7Gráficos para WPFVisualización
jQuery3.5.1Biblioteca JavaScriptFrontend
bootstrap4.5.3Framework CSSFrontend
Modernizr2.8.3Detección de características HTML5/CSS3Frontend
S22.Imap3.6.0.0Cliente IMAPEmail
Antlr3.5.0.2Parser para CSS/JSOptimización
WebGrease1.6.0Optimización de CSS/JSOptimización
System.Buffers4.6.0Gestión eficiente de memoriaPerformance
System.Memory4.6.0APIs de memoria modernaPerformance

4. ARQUITECTURA DEL PROYECTO#

4.1 Patrón Arquitectónico#

El proyecto implementa una arquitectura híbrida N-Layer con ASP.NET MVC + Web API:
Patrón MVC para vistas web y reportes
Patrón Web API REST para servicios y endpoints de integración
Repository Pattern implícito a través de Entity Framework
Service Layer en carpeta Library/ para lógica de negocio reutilizable
Dependency Injection mediante OWIN

4.2 Diagrama de Arquitectura#

4.3 Componentes Principales#

Capa de Presentación#

Views (Razor CSHTML): Vistas web para reportes, formularios y dashboards
WebReport: Generación de reportes HTML/PDF (fichas de agentes, solicitudes, tickets)
Templates: Plantillas de correo electrónico
Shared: Layouts compartidos
API Controllers: Endpoints REST para integración con otros sistemas
Nf_* Controllers: Servicios genéricos (datos, archivos, grids, jobs)
Kc Controllers: Endpoints específicos del negocio
MVC Controllers: Controllers tradicionales MVC para vistas web
HomeController, WebReportController, AccountController

Capa de Negocio#

Library Services: Servicios reutilizables
GmailSender: Envío de correos mediante Gmail API
ToPdf: Conversión HTML a PDF con iTextSharp
HeaderFooterPdf: Gestión de encabezados/pies de página en PDFs
Notify: Sistema de notificaciones
SolicitudesDispatcher: Procesamiento de solicitudes de pago
TicketsDispatcher: Gestión de tickets
Business Logic: Lógica implementada en controllers especializados
Módulo de Agentes (comisiones, fichas, métricas)
Módulo de Bonos y Concursos
Módulo de Facturación (Helios, validación CFDI)
Módulo de Solicitudes de Pago
Módulo de Casos de Sistemas

Capa de Datos#

Entity Framework 6: ORM principal
Multiple DbContexts: Conexiones a 8+ bases de datos diferentes
Connection Strings: Configuradas en Web.config para Prod/QA

Servicios Externos#

Google Gmail API: Lectura y envío de correos
SendGrid: Servicio alternativo de email
PAC (Proveedor Autorizado de Certificación): Timbrado de CFDI
Triton: Sistema interno de integración
Pegasus: Sistema ERP interno

4.4 Flujo de Datos#

5. ASPECTOS MÁS RELEVANTES#

5.1 Funcionalidades Principales#

1.
Sistema de Gestión de Agentes
Fichas de agentes (Helios, Contraloria, IP, IM)
Cálculo de comisiones y bonos
Métricas y reportes de desempeño
Estado de cuenta electrónico (Edocta)
2.
Módulo de Solicitudes de Pago
Flujo completo de solicitudes (envío, aprobación, pago, rechazo)
Notificaciones por email en cada etapa
Programación de pagos
Integración con Tesorería y Contabilidad
3.
Sistema de Facturación Electrónica
Validación de CFDI con PAC
Generación de reportes de facturación
Timbrado masivo
Resúmenes de facturación
4.
Gestión de Bonos y Concursos
Cálculo de bonos (89, 90, 92, 94)
Liquidación de bonos
Memorias de cálculo
Cifras de control
5.
Sistema de Tickets/Casos
Gestión de casos de sistemas
Integración con SysAid
Notificaciones automáticas
Reportes de tickets (Kraken, Titan)
6.
Módulo de Notificaciones
Notificaciones Helios
Alertas de detenciones de pago
Avisos de auditoría
Sistema de liquidaciones
7.
Generación de Reportes
Reportes HTML/PDF personalizados
Grids de datos exportables
Fichas de agentes multi-formato
Reportes de renovaciones
8.
Integración Multi-Sistema
Conexión a 8 bases de datos diferentes
APIs para Prometeo, Pegasus, Fortuna, Triton
Sincronización de datos entre sistemas
9.
Gestión de Pólizas
Consulta de pólizas (Olympus, Titan)
Detalles de pólizas
Renovaciones y vencimientos
10.
MailBot - Automatización Email
Lectura automática de correos (IMAP)
Procesamiento de solicitudes por email
Respuestas automáticas
Integración con Gmail API

5.2 Configuraciones Críticas#

Connection Strings (8 bases de datos)#

DefaultConnection: FrontBack (autenticación)
Prometeo_Prod: Sistema principal de pólizas
PegasusDB_Prod: ERP corporativo
Fortuna_Prod: Sistema financiero
iOpenData_Prod: Business Intelligence
GrupoKCBI_Prod / GKC_BI_Prod: Data Warehouse
Autonet_Prod: Sistema de autos
Bonos_Prod: Gestión de bonos
SysAid_Prod: Sistema de tickets

Configuraciones de Seguridad#

OWIN Authentication: Cookie-based authentication
Identity Framework: Gestión de usuarios y roles
OAuth Providers: Google, Facebook, Microsoft, Twitter
CORS: Habilitado para APIs
SSL/TLS: Habilitado para emails (puerto 587)

Configuraciones de Logging#

NLog: Sistema de logging configurado
RootAppLog: D:\DEBUG (ruta de logs en producción)

Variables de Entorno Críticas#

RunTimeMode: Prod / QA
FrontBack_ServerName_Prod: https://fb.grupokc.com.mx
PegasusEndPoint: https://pegasus.grupokc.com.mx/
EndPointPAC_Prod: URL del servicio de timbrado CFDI
CDN_Prod: https://cdngrupokc.azureedge.net/web
PathFiles_Prod: E:\Archivos

Configuraciones de Email#

Gmail SMTP: prometeo@grupokc.lat (múltiples cuentas)
Gmail IMAP: Configurado para lectura automática
SendGrid: Servicio alternativo de email

5.3 Patrones de Diseño Implementados#

1.
Repository Pattern (implícito): A través de Entity Framework DbContext
2.
Dependency Injection: OWIN Startup configuration
3.
Service Layer Pattern: Clases en carpeta Library/
4.
Dispatcher Pattern: SolicitudesDispatcher, TicketsDispatcher
5.
Provider Pattern: ApplicationOAuthProvider
6.
Factory Pattern: En generación de PDFs (HeaderFooterPdf)
7.
Template Pattern: Templates de email en Views/Templates/
8.
MVC Pattern: Separación Controller-View-Model
9.
REST API Pattern: Controllers con [HttpGet], [HttpPost], etc.

5.4 Seguridad#

Autenticación#

ASP.NET Identity 2.2.3: Framework principal de autenticación
Cookie Authentication: OWIN cookie-based auth
OAuth 2.0: Integración con providers externos (Google, Facebook, Microsoft, Twitter)
Forms Authentication: Para usuarios locales

Autorización#

Roles: Implementado mediante Identity Framework
Claims: Soporte para claims-based authorization
[Authorize] Attributes: Protección de controllers y acciones

Protecciones Implementadas#

Anti-CSRF Tokens: En formularios MVC
HTTPS: Configurado en producción
Connection String Encryption: Credenciales en Web.config
SQL Injection Protection: Uso de Entity Framework y queries parametrizadas
XSS Protection: Encoding automático en Razor views
CORS Policy: Control de origen de peticiones API

6. ANÁLISIS DE VERSIONES Y COMPATIBILIDAD#

Framework .NET#

Versión actual: .NET Framework 4.8
Fecha de soporte: Hasta 2028 (ciclo de vida de Windows)
Estado: ✅ Soportado - Última versión de .NET Framework
Nota: .NET Framework 4.8 es la última versión del framework clásico. Microsoft recomienda migrar a .NET 6/8 para nuevos desarrollos.

Compatibilidad C##

Versión del lenguaje: C# 7.3 (máximo soportado por .NET Framework 4.8)
Características modernas utilizadas:
Expresiones lambda
LINQ
Async/Await
String interpolation
Tipos anónimos
Extension methods

Análisis de Librerías Principales#

LibreríaVersión ActualÚltima DisponibleEstadoNotas
EntityFramework6.4.46.5.1⚠️ Actualización menor disponibleVersión estable, actualización opcional
ASP.NET MVC5.2.75.3.0⚠️ Actualización menor disponibleCambios mínimos
ASP.NET Web API5.2.75.3.0⚠️ Actualización menor disponibleCambios mínimos
Newtonsoft.Json13.0.113.0.3✅ Casi actualizadoVersión muy reciente
NLog4.7.65.3.x🔴 Versión mayor disponibleConsiderar actualización
MailKit4.12.04.12.x✅ ActualizadoVersión reciente
SendGrid9.28.19.29.x✅ Casi actualizadoVersión muy reciente
EPPlus5.6.37.x.x🔴 Versión mayor disponibleV7 requiere licencia comercial
iTextSharp5.5.13.25.5.13.3⚠️ EOL - Migrar a iText 7+Librería obsoleta, considerar migración
Google.Apis1.49.01.68.x🔴 DesactualizadoActualización recomendada
Bootstrap4.5.35.3.x🔴 Versión mayor disponibleBootstrap 5 tiene breaking changes
jQuery3.5.13.7.x⚠️ Actualización menorActualización recomendada

7. RECOMENDACIONES DE ACTUALIZACIÓN#

7.1 Prioridad Alta 🔴#

LibreríaVersión ActualVersión RecomendadaMotivoEsfuerzo
Google.Apis1.49.01.68.xSeguridad y nuevas funcionalidadesMedio
Google.Apis.Auth1.49.01.68.xSeguridad en autenticaciónMedio
Google.Apis.Gmail.v11.49.0.2202ÚltimaAPIs deprecadas en versiones antiguasMedio
iTextSharp5.5.13.2iText 7+ o AlternativaEOL, vulnerabilidades sin parcharAlto
NLog4.7.65.3.xMejoras de performance y seguridadBajo

7.2 Prioridad Media 🟡#

LibreríaVersión ActualVersión RecomendadaBeneficioEsfuerzo
EntityFramework6.4.46.5.1Corrección de bugsBajo
ASP.NET MVC5.2.75.3.0Mejoras de seguridadBajo
ASP.NET Web API5.2.75.3.0Mejoras de seguridadBajo
Bootstrap4.5.35.3.xUI moderna, mejores componentesAlto (breaking changes)
jQuery3.5.13.7.xCorrección de bugsBajo
EPPlus5.6.36.x (o evaluar alternativas)Funcionalidades Excel avanzadasMedio (licencia)

7.3 Prioridad Baja 🟢#

LibreríaVersión ActualVersión RecomendadaBeneficioEsfuerzo
Newtonsoft.Json13.0.113.0.3Pequeñas mejorasBajo
Modernizr2.8.33.xSoporte HTML5 modernoBajo
Antlr3.5.0.24.xPerformanceBajo
DotNetZip1.15.0Evaluar System.IO.CompressionAPI nativa de .NETMedio

7.4 Roadmap de Migración a .NET Moderno#

7.5 Consideraciones para Migración a .NET 8 (Largo Plazo)#

Beneficios de migrar a .NET 8:
✅ Performance superior (hasta 40% más rápido)
✅ Mejor manejo de memoria
✅ Soporte multiplataforma (Linux, Docker, Kubernetes)
✅ Minimal APIs más simples que Web API
✅ Soporte a largo plazo (LTS hasta 2026)
✅ Hot Reload para desarrollo
✅ Native AOT compilation
Desafíos de la migración:
❌ ASP.NET MVC no existe en .NET Core+ (usar Razor Pages o Blazor)
❌ Entity Framework 6 debe migrarse a EF Core
❌ System.Web dependencies no soportadas
❌ OWIN reemplazado por ASP.NET Core middleware
❌ Web.config reemplazado por appsettings.json
❌ Esfuerzo estimado: 6-12 meses para proyecto de este tamaño
Estrategia recomendada:
1.
Mantener .NET Framework 4.8 para estabilidad a corto plazo
2.
Actualizar librerías críticas de seguridad
3.
Planificar migración gradual módulo por módulo
4.
Crear APIs nuevas en .NET 8, mantener legacy en .NET Framework
5.
Establecer fecha límite 2026-2027 para migración completa

8. MÉTRICAS DEL PROYECTO#

Distribución de Archivos#

Estimación de Líneas de Código#

Controllers: ~10,000 líneas
Models: ~2,000 líneas
Views: ~8,000 líneas
Library: ~3,000 líneas
JavaScript: ~2,000 líneas
Total estimado: ~25,000 líneas de código

Complejidad de Integración#

9. DEUDA TÉCNICA IDENTIFICADA#

Issues Críticos#

Migrar iTextSharp: Versión EOL con posibles vulnerabilidades de seguridad
Actualizar Google APIs: Versión muy desactualizada (1.49.0 vs 1.68.x)
Connection Strings en código: Credenciales en Web.config sin encriptar (usar Azure Key Vault o secrets)
Logging centralizado: NLog a archivos locales, considerar Application Insights o Seq
Manejo de errores global: Implementar ExceptionFilterAttribute consistente

Issues Importantes#

Bootstrap 4 → 5: Actualizar para componentes modernos
Separación de responsabilidades: Algunos controllers tienen demasiada lógica (refactorizar a services)
Unit Testing: No se identificaron proyectos de testing (agregar xUnit/NUnit)
API Documentation: Implementar Swagger/OpenAPI para documentación automática
Dependency Injection: Migrar de OWIN DI a contenedor IoC moderno (Autofac/SimpleInjector)

Mejoras Recomendadas#

Caching: Implementar Redis o In-Memory caching para queries frecuentes
Health Checks: Agregar endpoints de health para monitoreo
Rate Limiting: Proteger APIs de abuso
Async/Await: Revisar uso consistente de async en controllers
DTOs: Separar modelos de BD de modelos de API
Validaciones: Centralizar validaciones con FluentValidation
Paginación: Implementar paginación en grids grandes
Background Jobs: Usar Hangfire para tareas programadas en lugar de IIS Task Scheduler

Mejoras de Seguridad#

HTTPS Only: Forzar HTTPS en todas las peticiones
Security Headers: Agregar headers de seguridad (CSP, X-Frame-Options, etc.)
Token Expiration: Revisar políticas de expiración de tokens OAuth
SQL Injection: Auditoría de queries dinámicos (parece que todo usa EF, verificar)
Secrets Management: Mover secretos a Azure Key Vault
API Keys: Implementar API keys para endpoints REST

10. GLOSARIO TÉCNICO#

Términos del Dominio#

Agente: Vendedor/representante de seguros que genera comisiones
Póliza: Contrato de seguro
CFDI: Comprobante Fiscal Digital por Internet (factura electrónica mexicana)
PAC: Proveedor Autorizado de Certificación (para timbrado de CFDI)
Edocta: Estado de cuenta electrónico
Helios: Sistema de gestión de pólizas y agentes
Prometeo: Sistema principal de seguros
Pegasus: ERP corporativo del Grupo KC
Triton: Sistema de integración interno
Fortuna: Sistema financiero/contable
Kraken/Titan: Sistemas de tickets/casos

Términos Técnicos#

MVC: Model-View-Controller pattern
Web API: REST API framework de Microsoft
OWIN: Open Web Interface for .NET (middleware)
EF: Entity Framework (ORM)
ORM: Object-Relational Mapping
CORS: Cross-Origin Resource Sharing
OAuth: Open Authorization protocol
SMTP: Simple Mail Transfer Protocol
IMAP: Internet Message Access Protocol
DTO: Data Transfer Object
IoC: Inversion of Control

NOTAS ADICIONALES#

Observaciones Importantes#

1.
Multi-Tenancy: El sistema maneja múltiples entidades y bases de datos simultáneamente
2.
Alta dependencia de Email: Funcionalidades críticas dependen de Gmail API y SMTP
3.
Generación intensiva de PDFs: Uso extensivo de iTextSharp para reportes
4.
Configuración dual Prod/QA: Ambiente de producción y QA configurados en Web.config
5.
Integración con servicios cloud: Azure CDN para archivos estáticos
6.
Modo híbrido: Combina aplicación web tradicional con APIs REST modernas

Puntos de Atención#

El proyecto tiene credenciales hardcodeadas en Web.config (riesgo de seguridad)
No se identificaron tests automatizados (recomendado agregar)
Múltiples connection strings sugieren acoplamiento fuerte con infraestructura de BD
TypeScript configurado pero no se ven archivos .ts (posible configuración legacy)
Carpeta google/token* con tokens de autenticación (verificar si están en .gitignore)

Recomendaciones Generales#

1.
Priorizar seguridad: Migrar credenciales a Azure Key Vault
2.
Implementar CI/CD: Azure DevOps o GitHub Actions para despliegues
3.
Monitoreo: Application Insights para telemetría y errores
4.
Documentación API: Swagger/OpenAPI para endpoints
5.
Testing: Agregar proyectos de Unit Testing y Integration Testing
6.
Code Quality: Configurar SonarQube o similar para análisis estático

Documentación generada: 13 de Diciembre de 2025
Analizado por: Claude AI (Sonnet 4.5)
Versión del documento: 1.0
Proyecto: FrontBack - Grupo KC
Framework: .NET Framework 4.8
Arquitectura: ASP.NET MVC 5.2.7 + Web API 5.2.7
Modificado en 2025-12-13 15:54:25
Anterior
Andromeda
Siguiente
OServerLogic
Built with