Tareas - Sprint 📅
Documentación relacionada:
Hito 1: Formato 3.1 Unidad Funcional
Sprint 1 (Semanas 1-2): Montaje de Proyecto y PDF Preliminar
Inicio: 2025-11-17 | Fin: 2025-11-30
Montaje Proyecto ganttchart
- [2] Crear Repositorio Github ➕ 2025-11-20 🛫 2025-11-20 ⏳ 2025-11-20 📅 2025-11-20 ✅ 2025-11-24
- [2] Crear Proyecto Laravel ➕ 2025-11-20 🛫 2025-11-20 ⏳ 2025-11-20 📅 2025-11-20 ✅ 2025-11-24
- [3] Configurar .env y servicios (DB, Queue, Storage) ➕ 2025-11-21 🛫 2025-11-21 ⏳ 2025-11-22 📅 2025-11-22 ✅ 2025-11-24
- [8] Montar Migraciones Base de datos (19 tablas) ➕ 2025-11-23 🛫 2025-11-23 ⏳ 2025-11-26 📅 2025-11-26 ✅ 2025-12-01
- [3] Verificar integridad de relaciones FK ➕ 2025-11-26 🛫 2025-11-26 ⏳ 2025-11-27 📅 2025-11-27 ✅ 2025-12-01
- [5] Instalar dependencias ➕ 2025-11-21 🛫 2025-11-21 ⏳ 2025-11-22 📅 2025-11-22 ✅ 2025-11-24
- Jetstream + Livewire ✅ 2025-11-24
- Filament v3 ✅ 2025-11-24
- Spatie Laravel-Permission ✅ 2025-11-24
- Laravel Auditing ✅ 2025-11-24
- Log-viewer ✅ 2025-11-24
- [2] Instalar Librerías JS ➕ 2025-11-21 🛫 2025-11-21 ⏳ 2025-11-21 📅 2025-11-21 ✅ 2025-11-26
- Tailwind CSS ✅ 2025-11-26
- [5] Configurar usuarios y permisos [[documentación/Requerimientos - MVP#RFN08 - Control de Acceso PRNF08|#PRNF08]] ➕ 2025-11-27 🛫 2025-11-27 ⏳ 2025-11-29 📅 2025-11-29 ✅ 2025-11-25
- Crear seeders de roles (Admin, ProductionTeam, Consulta) ✅ 2025-11-24
- Crear usuarios de prueba ✅ 2025-11-24
- Configurar políticas básicas de Filament ✅ 2025-11-25
- [2] Test: Verificar login y acceso por roles ➕ 2025-11-29 🛫 2025-11-29 ⏳ 2025-11-29 📅 2025-11-29 ✅ 2025-11-24
Montaje PDF Preliminar
- [2] Conseguir assets corporativos (logo, colores hex, tipografías) ➕ 2025-11-30 🛫 2025-11-30 ⏳ 2025-11-30 📅 2025-11-30 ✅ 2025-12-01
- [8] Montar formato PDF mockup [[documentación/Requerimientos - MVP#RFN07 - Formato Institucional PRNF07|#PRNF07]] ➕ 2025-12-01 🛫 2025-12-01 ⏳ 2025-12-03 📅 2025-12-03 ✅ 2025-12-01
- Aplicar colores corporativos Passos ✅ 2025-12-01
- Incluir logotipo ✅ 2025-12-01
- Montar header y footer institucional ✅ 2025-12-01
- Crear 2-3 secciones de ejemplo con datos dummy ✅ 2025-12-01
- Incluir tabla de ejemplo ✅ 2025-12-01
- Incluir imagen de ejemplo ✅ 2025-12-01
- [2] Test: Generar PDF de demostración ➕ 2025-12-03 🛫 2025-12-03 ⏳ 2025-12-03 📅 2025-12-03 ✅ 2025-12-01
Entregable Sprint 1: Demo PDF para stakeholder
Sprint 2 (Semanas 3-4): Análisis y Parametrización
Inicio: 2025-12-01 | Fin: 2025-12-14
Análisis y Parametrización Formato 3.1
- [8] Analizar estructura del formato 3.1 ➕ 2025-12-04 🛫 2025-12-04 ⏳ 2025-12-06 📅 2025-12-06 ✅ 2025-12-08
- Descargar PDF real del formato 3.1 actual ✅ 2025-12-08
- Documentar todas las secciones del PDF ✅ 2025-12-08
- Identificar todos los campos por sección ✅ 2025-12-08
- Clasificar tipos de campo (text, number, date, select, etc) ✅ 2025-12-08
- Identificar grupos/tablas ✅ 2025-12-08
- Documentar jerarquía de secciones ✅ 2025-12-08
- [5] Analizar Kiseo Form ➕ 2025-12-07 🛫 2025-12-07 ⏳ 2025-12-09 📅 2025-12-09 ✅ 2025-12-08
- Obtener export de Kiseo Form 3.1 (CSV/JSON) ✅ 2025-12-08
- Documentar mapeo: Campo Kiseo → Campo BD ✅ 2025-12-08
- Identificar transformaciones necesarias ✅ 2025-12-08
- [5] Crear seeders de datos base ➕ 2025-12-10 🛫 2025-12-10 ⏳ 2025-12-11 📅 2025-12-11 ✅ 2025-12-08
- Seeder: field_types (text, number, date, select, textarea, image, file) ✅ 2025-12-08
- Seeder: report_types (Comercial Unidad Funcional) ✅ 2025-12-08
- Seeder: method_types (métodos de avalúo usados) ✅ 2025-12-08
- [8] Parametrizar estructura de secciones [[documentación/Requerimientos - MVP#RF13 - Configurar secciones de plantillas PRF13|#PRF13]] ➕ 2025-12-12 🛫 2025-12-12 ⏳ 2025-12-14 📅 2025-12-14
- Crear secciones principales en tabla
sections✅ 2025-12-08 - Crear subsecciones (con parent_id) ✅ 2026-01-02
- Vincular a report_types en
report_types_sections✅ 2025-12-08 - Configurar orden (order) de cada sección
- Configurar show_number por sección ✅ 2025-12-08
- Crear secciones principales en tabla
- [8] Parametrizar campos del formato 3.1 [[documentación/Requerimientos - MVP#RF12 - Agregar nuevos campos a informe PRF12|#PRF12]] ➕ 2025-12-15 🛫 2025-12-15 ⏳ 2025-12-16 📅 2025-12-16 ✅ 2025-12-21
- Crear todos los registros en tabla
fields✅ 2025-12-21 - Asignar field_type_id correcto ✅ 2025-12-08
- Asignar section_id correcto ✅ 2025-12-08
- Configurar row_number para ordenamiento ✅ 2025-12-08
- Crear todos los registros en tabla
- [5] Configurar grupos (tablas) ➕ 2025-12-16 🛫 2025-12-16 ⏳ 2025-12-17 📅 2025-12-17 ✅ 2025-12-08
- Crear registros en tabla
group✅ 2025-12-08 - Configurar cols_qtt e is_table ✅ 2025-12-08
- Vincular fields a group_id ✅ 2025-12-08
- Crear registros en tabla
- [3] Configurar validaciones ➕ 2025-12-17 🛫 2025-12-17 ⏳ 2025-12-17 📅 2025-12-17 ✅ 2025-12-21
- Crear field_validations para campos críticos ✅ 2025-12-21
- Definir validation_rule (required, min, max, etc) ✅ 2025-12-21
- Definir error_message personalizados ✅ 2025-12-21
- [2] Test: Consultar estructura completa desde BD ➕ 2025-12-17 🛫 2025-12-17 ⏳ 2025-12-17 📅 2025-12-17 ✅ 2025-12-21
Entregable Sprint 2: Estructura de formato 3.1 completamente parametrizada en BD
Sprint 3 (Semanas 5-6): Motor de Generación de PDFs prev
Inicio: 2025-12-15 | Fin: 2025-12-28
Motor de Generación de PDFs
- [13] Desarrollar servicio ReportGenerator [[documentación/Requerimientos - MVP#RF09 - Generar PDF formato Passos PRF09|#PRF09]] ➕ 2025-12-20 🛫 2025-12-20 ⏳ 2025-12-25 📅 2025-12-25 ✅ 2025-12-21
- Crear clase ReportGenerator ✅ 2025-12-08
- Implementar método: cargar estructura (sections, fields) ✅ 2025-12-08
- Implementar método: cargar datos (catched_fields) ✅ 2025-12-21
- Implementar método: renderizar secciones ✅ 2025-12-08
- Implementar método: renderizar campos por tipo ✅ 2025-12-08
- Implementar método: renderizar grupos/tablas (is_table=true) ✅ 2025-12-08
- [8] Aplicar formato institucional Passos [[documentación/Requerimientos - MVP#RFN07 - Formato Institucional PRNF07|#PRNF07]] ➕ 2025-12-26 🛫 2025-12-26 ⏳ 2025-12-28 📅 2025-12-28 ✅ 2025-12-08
- Blade template: header con logotipo ✅ 2025-12-08
- Blade template: footer con info corporativa ✅ 2025-12-08
- CSS: colores corporativos ✅ 2025-12-08
- CSS: tipografía oficial ✅ 2025-12-08
- Numeración de secciones (según show_number) ✅ 2025-12-08
- [5] Manejar imágenes en PDF ➕ 2025-12-29 🛫 2025-12-29 ⏳ 2025-12-30 📅 2025-12-30
- Inserción en PDF con dimensiones correctas
- [8] Implementar sistema de colas [[documentación/Requerimientos - MVP#RF09 - Generar PDF formato Passos PRF09|#PRF09]] ➕ 2025-12-30 🛫 2025-12-30 ⏳ 2025-12-31 📅 2025-12-31 ❌ 2025-12-27
- Crear Job: GenerateReportPDF ❌ 2025-12-27
- Configurar queue en .env ❌ 2025-12-27
- Implementar notificación al usuario (success) ❌ 2025-12-27
- Implementar manejo de errores y reintentos ❌ 2025-12-27
- Almacenar PDF generado en Dropbox ❌ 2025-12-27
- [3] Test: Generar PDF completo con datos de ejemplo ➕ 2025-12-31 🛫 2025-12-31 ⏳ 2025-12-31 📅 2025-12-31 ✅ 2026-01-02
Entregable Sprint 3: Motor de generación de PDFs funcional con formato institucional
Sprint 4 (Semanas 7-8): Flujo de Creación - Parte 1 actual
Inicio: 2025-12-29 | Fin: 2026-01-11
Flujo de Creación de Informes - Inicio y Captura
- [5] Módulo: Iniciar Proceso de Tasación [[documentación/Requerimientos - MVP#RF01 - Iniciar proceso tasación PRF01|#PRF01]] ➕ 2026-01-02 🛫 2026-01-02 ⏳ 2026-01-03 📅 2026-01-03
- Panel Filament Resource: Reports ✅ 2025-12-21
- Formulario: service_number, client_id ✅ 2025-12-21
- Validación: service_number único
- Botón: “Iniciar Tasación”
- [5] Listado de tasaciones [[documentación/Requerimientos - MVP#RF01 - Iniciar proceso tasación PRF01|#PRF01]] ➕ 2026-01-04 🛫 2026-01-04 ⏳ 2026-01-05 📅 2026-01-05
- Tabla Filament con todas las tasaciones ✅ 2026-01-02
- Filtros: estado, cliente, fecha, tipo
- Acciones: Ver, Editar, Generar PDF
- [3] Selector tipo de tasación [[documentación/Requerimientos - MVP#RF02 - Agregar tipo tasación PRF02|#PRF02]] ➕ 2026-01-06 🛫 2026-01-06 ⏳ 2026-01-06 📅 2026-01-06
- Dropdown de report_types
- Cargar estructura dinámica al seleccionar
- Mostrar preview de secciones que se cargarán
- [5] Parametrizar datos según tipo [[documentación/Requerimientos - MVP#RF02 - Agregar tipo tasación PRF02|#PRF02]] ➕ 2026-01-07 🛫 2026-01-07 ⏳ 2026-01-08 📅 2026-01-08
- Cargar sections según report_type_id
- Cargar fields según sections
- Preparar estructura para catched_fields
- [2] Test: Crear tasación y verificar estructura ➕ 2026-01-08 🛫 2026-01-08 ⏳ 2026-01-08 📅 2026-01-08
- [8] Módulo: Importar Kiseo Form [[documentación/Requerimientos - MVP#RF04 - Cargar informe inspección PRF04|#PRF04]] ➕ 2026-01-09 🛫 2026-01-09 ⏳ 2026-01-11 📅 2026-01-11
- Form upload: archivo Kiseo (CSV/JSON/PDF)
- Parser: leer datos del archivo
- Mapear: campos Kiseo → catched_fields
- Crear registros en catched_fields
- Guardar field_snapshot en JSONB
- [2] Test: Importar Kiseo y verificar datos en BD ➕ 2026-01-11 🛫 2026-01-11 ⏳ 2026-01-11 📅 2026-01-11
- [13] Formulario dinámico de captura ➕ 2026-01-12 🛫 2026-01-12 ⏳ 2026-01-14 📅 2026-01-14
- Renderizar formulario según estructura de fields
- Componente Livewire por field_type:
- TextInput para type=text
- NumberInput para type=number
- DatePicker para type=date
- Select para type=select
- Textarea para type=textarea
- FileUpload para type=image/file
- Agrupar campos según group_id
- Renderizar tablas (is_table=true)
Entregable Sprint 4: Flujo de inicio de tasación e importación Kiseo funcional
Sprint 5 (Semanas 9-10): Flujo de Creación - Parte 2 next
Inicio: 2026-01-12 | Fin: 2026-01-25
Flujo de Creación de Informes - Edición y Funcionalidades
- [5] Guardar datos capturados ➕ 2026-01-15 🛫 2026-01-15 ⏳ 2026-01-16 📅 2026-01-16
- Almacenar en catched_fields.value_typed (JSONB)
- Aplicar field_validations
- Mostrar error_message si falla validación
- [2] Test: Capturar datos y verificar en BD ➕ 2026-01-16 🛫 2026-01-16 ⏳ 2026-01-16 📅 2026-01-16
- [5] Módulo: Editar información [[documentación/Requerimientos - MVP#RF05 - Corregir información inspección PRF05|#PRF05]] ➕ 2026-01-17 🛫 2026-01-17 ⏳ 2026-01-18 📅 2026-01-18
- Modal de edición de catched_fields
- Formulario prellenado con datos actuales
- Guardar cambios
- Registrar auditoría con Laravel Audit
- [5] Mostrar historial de cambios [[documentación/Requerimientos - MVP#RF05 - Corregir información inspección PRF05|#PRF05]] ➕ 2026-01-19 🛫 2026-01-19 ⏳ 2026-01-20 📅 2026-01-20
- Integración con Laravel Audit
- Timeline de modificaciones
- Usuario, fecha, valor anterior → nuevo
- [2] Test: Editar campo y verificar auditoría ➕ 2026-01-20 🛫 2026-01-20 ⏳ 2026-01-20 📅 2026-01-20
- [8] Módulo: Introducir imágenes del activo [[documentación/Requerimientos - MVP#RF05 - Corregir información inspección PRF05|#PRF05]] ➕ 2026-01-21 🛫 2026-01-21 ⏳ 2026-01-23 📅 2026-01-23
- Upload múltiple de imágenes
- Almacenar en Dropbox
- Vincular a report en catched_fields
- Preview de imágenes cargadas
- [2] Test: Subir imágenes y generar PDF con ellas ➕ 2026-01-23 🛫 2026-01-23 ⏳ 2026-01-23 📅 2026-01-23
- [5] Módulo: Añadir campos personalizados [[documentación/Requerimientos - MVP#RF06 - Añadir más campos PRF06|#PRF06]] ➕ 2026-01-24 🛫 2026-01-24 ⏳ 2026-01-25 📅 2026-01-25
- Botón “Agregar campo personalizado”
- Form: nombre, field_type_id, section_id
- Crear custom_fields o usar catched_fields directamente
- Renderizar en formulario dinámico
- [2] Test: Crear campo custom y generar PDF ➕ 2026-01-25 🛫 2026-01-25 ⏳ 2026-01-25 📅 2026-01-25
- [5] Módulo: Adjuntar documentos soporte [[documentación/Requerimientos - MVP#RF07 - Adjuntar documentos soporte PRF07|#PRF07]] ➕ 2026-01-26 🛫 2026-01-26 ⏳ 2026-01-28 📅 2026-01-28
- Upload de archivos (PDF, Word, Excel, imágenes)
- Almacenar en Dropbox
- Tabla: documentos adjuntos al report
- Tipo de documento, descripción
- [2] Test: Adjuntar documentos y descargar ➕ 2026-01-28 🛫 2026-01-28 ⏳ 2026-01-28 📅 2026-01-28
Entregable Sprint 5: Funcionalidades de edición, imágenes, campos custom y documentos
Sprint 6 (Semana 11): Flujo de Creación - Finalización
Inicio: 2026-01-26 | Fin: 2026-02-01
Flujo de Creación de Informes - Markdown y Personalización
- [8] Módulo: Añadir textos libres en Markdown [[documentación/Requerimientos - MVP#RF08 - Añadir más información PRF08|#PRF08]] ➕ 2026-01-29 🛫 2026-01-29 ⏳ 2026-01-31 📅 2026-01-31 ✅ 2025-12-08
- Integrar editor Markdown (TipTap recomendado) ✅ 2025-12-08
- Almacenar en absolute_text ✅ 2025-12-08
- Vincular a report o section ✅ 2025-12-08
- Renderizar Markdown → HTML en PDF ✅ 2025-12-08
- [2] Test: Agregar texto MD y verificar en PDF ➕ 2026-01-31 🛫 2026-01-31 ⏳ 2026-01-31 📅 2026-01-31
- [8] Módulo: Personalizar orden de secciones [[documentación/Requerimientos - MVP#RF10 - Generar reporte personalizado PRF10|#PRF10]] ➕ 2026-02-01 🛫 2026-02-01 ⏳ 2026-02-03 📅 2026-02-03
- Interfaz drag-and-drop de secciones
- Guardar en section_order_overrides
- Campos: section_id, number, show_number, number_typed, name
- Preview de estructura personalizada
- [2] Test: Reordenar secciones y generar PDF ➕ 2026-02-03 🛫 2026-02-03 ⏳ 2026-02-03 📅 2026-02-03
- [3] Flujo completo: Crear tasación → Importar → Editar → Generar PDF ➕ 2026-02-04 🛫 2026-02-04 ⏳ 2026-02-04 📅 2026-02-04
Entregable Sprint 6: Flujo completo de creación de informes funcional
Sprint 7 (Semanas 12-13): Panel Admin
Inicio: 2026-02-02 | Fin: 2026-02-15
Panel Admin: Gestión de Plantillas
- [5] Resource Filament: ReportTypes [[documentación/Requerimientos - MVP#RF11 - Configurar plantillas PRF11|#PRF11]] ➕ 2026-02-05 🛫 2026-02-05 ⏳ 2026-02-06 📅 2026-02-06 ✅ 2025-12-08
- CRUD de report_types ✅ 2025-12-08
- Form: name ✅ 2025-12-08
- Listado de tipos de reporte ✅ 2025-12-08
- [5] Vincular secciones a report_types [[documentación/Requerimientos - MVP#RF11 - Configurar plantillas PRF11|#PRF11]] ➕ 2026-02-07 🛫 2026-02-07 ⏳ 2026-02-09 📅 2026-02-09
- RelationManager: report_types_sections
- Seleccionar sections disponibles
- Configurar order de cada sección
- [2] Test: Crear nuevo tipo de reporte ➕ 2026-02-09 🛫 2026-02-09 ⏳ 2026-02-09 📅 2026-02-09 ✅ 2025-12-08
- [8] Resource Filament: Sections [[documentación/Requerimientos - MVP#RF13 - Configurar secciones de plantillas PRF13|#PRF13]] ➕ 2026-02-10 🛫 2026-02-10 ⏳ 2026-02-12 📅 2026-02-12 ✅ 2025-12-08
- CRUD de sections ✅ 2025-12-08
- Form: name, show_number, parent_id ✅ 2025-12-08
- Árbol de jerarquía (secciones y subsecciones) ✅ 2025-12-08
- [2] Test: Crear sección con subsecciones ➕ 2026-02-12 🛫 2026-02-12 ⏳ 2026-02-12 📅 2026-02-12 ✅ 2025-12-08
- [8] Resource Filament: Fields [[documentación/Requerimientos - MVP#RF12 - Agregar nuevos campos a informe PRF12|#PRF12]] ➕ 2026-02-13 🛫 2026-02-13 ⏳ 2026-02-15 📅 2026-02-15 ✅ 2025-12-08
- CRUD de fields ✅ 2025-12-08
- Form: name, field_type_id, section_id, row_number, group_id ✅ 2025-12-08
- Filtros por sección ✅ 2025-12-08
- [5] Configurar validaciones desde admin ➕ 2026-02-16 🛫 2026-02-16 ⏳ 2026-02-17 📅 2026-02-17
- RelationManager: field_validations ✅ 2025-12-08
- Form: validation_rule, error_message
- [2] Test: Agregar campo nuevo a plantilla ➕ 2026-02-17 🛫 2026-02-17 ⏳ 2026-02-17 📅 2026-02-17
Entregable Sprint 7: Panel de administración de plantillas funcional
Sprint 8 (Semana 14): Previsualizador y Versionado
Inicio: 2026-02-16 | Fin: 2026-02-22
Panel Admin: Previsualizador y Versionado
- [8] Módulo: Previsualizador de plantillas [[documentación/Requerimientos - MVP#RFN06 - Previsualizar plantillas PRNF06|#PRNF06]] ➕ 2026-02-19 🛫 2026-02-19 ⏳ 2026-02-22 📅 2026-02-22 ✅ 2025-12-08
- Botón “Preview” en ReportTypes ✅ 2025-12-08
- Generar HTML preview con estructura ✅ 2025-12-08
- Mostrar secciones, campos, grupos ✅ 2025-12-08
- Opción: Preview PDF con datos dummy ✅ 2025-12-08
- [2] Test: Previsualizar plantilla antes de activar ➕ 2026-02-22 🛫 2026-02-22 ⏳ 2026-02-22 📅 2026-02-22 ✅ 2025-12-08
- [8] Sistema de versionado de plantillas [[documentación/Requerimientos - MVP#RF11 - Configurar plantillas PRF11|#PRF11]] ➕ 2026-02-23 🛫 2026-02-23 ⏳ 2026-02-25 📅 2026-02-25
- Soft deletes en sections y fields (deleted_at)
- Mantener field_snapshot en catched_fields
- Verificar que reportes antiguos no se afecten
- [2] Test: Modificar plantilla y verificar reportes existentes ➕ 2026-02-25 🛫 2026-02-25 ⏳ 2026-02-25 📅 2026-02-25
Entregable Sprint 8: Sistema de versionado y previsualizador completo
Sprint 9 (Semanas 15-16): Historial y Auditoría
Inicio: 2026-02-23 | Fin: 2026-03-08
Historial y Auditoría
- [5] Módulo: Consultar información histórica [[documentación/Requerimientos - MVP#RFN01 - Consultar información histórica PRNF01|#PRNF01]] ➕ 2026-02-26 🛫 2026-02-26 ⏳ 2026-02-28 📅 2026-02-28
- Filtros avanzados en listado Reports
- Búsqueda por: service_number, cliente, fecha, tipo
- Paginación eficiente
- Export a Excel de resultados
- [2] Test: Buscar tasaciones por múltiples criterios ➕ 2026-02-28 🛫 2026-02-28 ⏳ 2026-02-28 📅 2026-02-28
- [5] Módulo: Ver reportes generados [[documentación/Requerimientos - MVP#RFN02 - Ver reportes anteriormente generados PRNF02|#PRNF02]] ➕ 2026-03-01 🛫 2026-03-01 ⏳ 2026-03-02 📅 2026-03-02
- Tabla: reportes PDF generados por tasación
- Columnas: fecha generación, usuario, tipo, plantilla
- Descarga de cualquier versión anterior
- [2] Test: Descargar reporte antiguo ➕ 2026-03-02 🛫 2026-03-02 ⏳ 2026-03-02 📅 2026-03-02
- [5] Módulo: Historial de generaciones [[documentación/Requerimientos - MVP#RFN03 - Ver historial de generaciones PRNF03|#PRNF03]] ➕ 2026-03-03 🛫 2026-03-03 ⏳ 2026-03-04 📅 2026-03-04
- Timeline de todas las generaciones
- Metadata: usuario, fecha/hora, template usado
- Estado: exitoso / fallido
- [2] Test: Verificar timeline completo ➕ 2026-03-04 🛫 2026-03-04 ⏳ 2026-03-04 📅 2026-03-04
- [8] Módulo: Historial de modificaciones [[documentación/Requerimientos - MVP#RFN04 - Ver historial modificaciones PRNF04|#PRNF04]] ➕ 2026-03-05 🛫 2026-03-05 ⏳ 2026-03-07 📅 2026-03-07
- Integración completa con Laravel Audit
- Vista: todos los cambios en catched_fields
- Filtros: campo, usuario, fecha
- Formato: campo | anterior → nuevo | usuario | fecha
- [2] Test: Editar múltiples campos y verificar auditoría ➕ 2026-03-07 🛫 2026-03-07 ⏳ 2026-03-07 📅 2026-03-07
- [8] Módulo: Comparar versiones de reportes [[documentación/Requerimientos - MVP#RFN05 - Visualizar cambios entre reportes PRNF05|#PRNF05]] ➕ 2026-03-08 🛫 2026-03-08 ⏳ 2026-03-11 📅 2026-03-11
- Seleccionar 2 versiones del mismo report
- Diff visual lado a lado
- Highlight de cambios en catched_fields
- Listado de campos modificados
- [2] Test: Comparar 2 versiones y verificar diff ➕ 2026-03-11 🛫 2026-03-11 ⏳ 2026-03-11 📅 2026-03-11
Entregable Sprint 9: Módulos de historial y auditoría completos
Sprint 10 (Semanas 17-18): Importación Histórica - Parte 1
Inicio: 2026-03-09 | Fin: 2026-03-22
Importación de Información Histórica - Diseño y Extracción
- [5] Diseñar estructura datos históricos [[documentación/Requerimientos - MVP#RFN09 - Importación de Datos Históricos PRNF09|#PRNF09]] ➕ 2026-03-12 🛫 2026-03-12 ⏳ 2026-03-14 📅 2026-03-14
- Definir qué campos extraer de PDFs antiguos
- Decidir: ¿nueva tabla o usar reports existente?
- Diseñar flag: is_imported = true
- [3] Crear migraciones si es necesario [[documentación/Requerimientos - MVP#RFN09 - Importación de Datos Históricos PRNF09|#PRNF09]] ➕ 2026-03-14 🛫 2026-03-14 ⏳ 2026-03-15 📅 2026-03-15
- [2] Test: Estructura BD para históricos ➕ 2026-03-15 🛫 2026-03-15 ⏳ 2026-03-15 📅 2026-03-15
- [13] Implementar extracción de PDFs [[documentación/Requerimientos - MVP#RFN09 - Importación de Datos Históricos PRNF09|#PRNF09]] ➕ 2026-03-16 🛫 2026-03-16 ⏳ 2026-03-21 📅 2026-03-21
- Evaluar librerías OCR si hay PDFs escaneados
- Parser para PDFs con estructura conocida
- Extracción de texto y tablas
- Mapeo a campos actuales
- [3] Test: Extraer datos de 1 PDF de prueba ➕ 2026-03-21 🛫 2026-03-21 ⏳ 2026-03-22 📅 2026-03-22
- [8] Comando Artisan: ImportHistoricalReports [[documentación/Requerimientos - MVP#RFN09 - Importación de Datos Históricos PRNF09|#PRNF09]] ➕ 2026-03-23 🛫 2026-03-23 ⏳ 2026-03-25 📅 2026-03-25
- Leer PDFs de carpeta Dropbox
- Ejecutar parser por cada PDF
- Crear reports con is_imported=true
- Crear catched_fields con datos extraídos
- Progress bar y logging
- Queue de validación manual
Entregable Sprint 10: Sistema de extracción e importación de PDFs históricos
Sprint 11 (Semanas 19-20): Importación Histórica - Parte 2 y Cierre
Inicio: 2026-03-23 | Fin: 2026-04-05
Importación de Información Histórica - Validación y Cierre
- [3] Test: Importar 10 PDFs de muestra ➕ 2026-03-26 🛫 2026-03-26 ⏳ 2026-03-27 📅 2026-03-27
- [5] Almacenar enlaces de Dropbox [[documentación/Requerimientos - MVP#RFN02 - Ver reportes anteriormente generados PRNF02|#PRNF02]] ➕ 2026-03-28 🛫 2026-03-28 ⏳ 2026-03-29 📅 2026-03-29
- Vincular PDF original a report
- Metadata: fecha original, ubicación Dropbox
- Acceso desde panel para descargar original
- [2] Test: Acceder a PDF original desde panel ➕ 2026-03-29 🛫 2026-03-29 ⏳ 2026-03-29 📅 2026-03-29
- [8] Validación manual de importados ➕ 2026-03-30 🛫 2026-03-30 ⏳ 2026-04-02 📅 2026-04-02
- Dashboard: reportes pendientes de validación
- Comparación: PDF original vs datos extraídos
- Aprobar / Editar / Rechazar
- Tasa de exactitud objetivo: ≥85%
- [3] Test: Validar 10 reportes importados ➕ 2026-04-02 🛫 2026-04-02 ⏳ 2026-04-03 📅 2026-04-03
Sprint 11 (Semanas 20): Escaneo de Títulos OCR
Inicio: 2026-03-23 | Fin: 2026-04-05
Cierre del Hito 1
- [5] Pruebas de integración completas ➕ 2026-04-04 🛫 2026-04-04 ⏳ 2026-04-05 📅 2026-04-05
- [5] Corrección de bugs encontrados ➕ 2026-04-06 🛫 2026-04-06 ⏳ 2026-04-07 📅 2026-04-07
- [3] Documentación técnica del sistema ➕ 2026-04-07 🛫 2026-04-07 ⏳ 2026-04-08 📅 2026-04-08
- [2] Demo final con stakeholders ➕ 2026-04-08 🛫 2026-04-08 ⏳ 2026-04-08 📅 2026-04-08
Entregable Sprint 11: Hito 1 completamente funcional y documentado
Resumen del Hito 1
Duración total: 20 semanas (100 días hábiles = 400 horas) Inicio: 2025-11-17 Fin: 2026-04-05
Story Points - Referencia:
- [2] - Tarea simple (1-2 horas)
- [3] - Tarea moderada (medio día)
- [5] - Tarea compleja (1 día)
- [8] - Tarea muy compleja (2 días)
- [13] - Tarea extremadamente compleja (3-5 días)
Puntos de Validación con Stakeholder:
- Semana 2 (30/Nov): Demo PDF mockup
- Semana 4 (14/Dic): Validación estructura parametrizada
- Semana 6 (28/Dic): Demo motor generación PDFs
- Semana 11 (01/Feb): Demo flujo completo de creación
- Semana 16 (08/Mar): Demo historial y auditoría
- Semana 20 (05/Abr): Demo final y cierre
Sprint 12 (Semanas 21-22): OCR Títulos de Propiedad backlog
Inicio: 2026-04-06 | Fin: 2026-04-19
Estructura de Base de Datos
- [5] Crear migraciones para títulos de propiedad
- Tabla
property_titles(id, report_id, file_path, file_type, processed_at, status) - Tabla
title_extracted_data(datos extraídos con campos encriptados) - Campos sensibles con cast
encrypted(propietario, cédula, etc.) - Relación con tabla
reports
- Tabla
- [3] Crear modelos Eloquent
- Model PropertyTitle con relaciones
- Model TitleExtractedData con $casts encrypted
- Definir fillables y relaciones
Evaluación y Configuración de IA
- [5] Evaluar opciones de IA para extracción
- Prueba con Google Cloud Vision (OCR)
- Prueba con Claude Vision (extracción inteligente)
- Prueba con GPT-4 Vision (alternativa)
- Comparar: precisión, costo, velocidad
- Documentar decisión final
- [3] Configurar APIs seleccionadas
- Credenciales en .env (encriptadas)
- Instalar SDKs necesarios (google/cloud-vision, anthropic, etc.)
- Configurar rate limits y manejo de errores
Servicios de Extracción
- [5] Implementar Google Vision OCR Service
- Método: extractTextFromImage
- Método: extractTextFromPdf (convertir páginas a imagen)
- Retornar texto plano estructurado
- Manejo de errores y reintentos
- [5] Crear TitleExtractorService
- Método: processTitle(file) - orquestador principal
- Método: parseExtractedText - enviar a IA para estructurar
- Prompt engineering para extracción de campos RD
- Retornar array con campos y nivel de confianza
- [3] Documentar campos a extraer del título RD
- Campos header (matrícula, municipio, superficie, fecha inscripción)
- Campos catastrales (solar, manzana, DC, planta)
- Campos del texto (propietario, cédula, nacionalidad, condominio)
- Crear mapeo: campo título → campo del sistema
Interfaz de Usuario
- [5] UI: Subir título (PDF/imagen)
- Componente Filament en página de Report
- Aceptar formatos: PDF, JPG, PNG
- Validar tamaño máximo (10MB)
- Indicador de procesamiento
- [8] UI: Comparar imagen vs campos extraídos
- Layout dos columnas: imagen izquierda | formulario derecha
- Visor de imagen con zoom/pan
- Campos pre-llenados editables
- Indicador visual de confianza (verde/amarillo/rojo)
- Resaltar campos no encontrados
- Botón: “Confirmar y guardar”
- Botón: “Reintentar escaneo”
- Botón: “Cancelar”
Integración con Sistema
- [5] Mapear campos extraídos → catched_fields
- Vincular título al report activo
- Auto-rellenar campos del formulario dinámico
- Confirmar antes de sobrescribir campos existentes
- Guardar archivo original en storage (Dropbox)
- [2] Registrar en auditoría
- Fecha/hora de escaneo
- Usuario que procesó
- Campos extraídos vs campos modificados manualmente
- Nivel de confianza promedio
Testing y Ajustes
- [3] Tests con títulos reales de muestra
- Probar con 5-10 títulos variados
- Medir tasa de precisión por campo
- Documentar casos edge
- [2] Ajustar prompts y parsing según resultados
Entregable Sprint 12: Funcionalidad de escaneo de títulos con extracción automática de datos