HUF 001_Registrar_vehiculo_en_el_sistema - camilo1691/proyecto_mantenimiento_automotor_bakend GitHub Wiki
| Campo | Contenido |
|---|---|
| ID | HUF-001 |
| Título | Registrar vehículo en el sistema |
| Descripción | Como supervisor, quiero registrar un nuevo vehículo con datos obligatorios (placa, marca, modelo, año, color, número de motor, número de chasis-VIN, tipo de combustible, capacidad de pasajeros, tipo de servicio) y documentos (tarjeta de propiedad, SOAT con fecha de vencimiento, revisión técnico-mecánica con fecha de vencimiento, seguro contractual/extracontractual, tarjeta de operación, fotos del vehículo), para darlo de alta en la flota con estado "Activo", "Inactivo" o "Pre-registro" según vigencia de documentos. |
| Tipo | Funcional |
| Módulo | Gestión de Flota |
| Estimación | 13 puntos |
| Prioridad | Must |
| Riesgo | Medio |
| Criterios de Validación (Gherkin) |
Escenario 1: Registro exitoso completo con todos los documentos vigentes Dado que ingreso todos los datos obligatorios válidos: * Placa: ABC-123 * Marca: Chevrolet * Modelo: Spark GT * Año: 2020 * Color: Rojo * Número de motor: MOT123456 * Número de chasis-VIN: 3HGBH41JXMN109186 * Tipo de combustible: Gasolina * Capacidad: 4 pasajeros * Tipo de servicio: Individual * Adjunta documentos en PDF (máx 50MB cada uno): * Tarjeta de propiedad * SOAT vigente (vence en 6 meses) * Revisión técnico-mecánica vigente (vence en 3 meses) * Seguro contractual * Tarjeta de operación * Adjunto 4 fotos del vehículo (frontal, izquierda, derecha, trasera) Cuando guarda el registro, entonces el vehículo se crea con estado "Activo" y veo el mensaje "Vehículo ABC123 registrado exitosamente" y los documentos se almacenan vinculados al vehículo Escenario 2: Placa duplicada con sugerencia de búsqueda Dado que ingreso la placa "ABC123" ya existente en otro vehículo, Cuando intento guardar recibo un mensaje de error "La placa ABC123 ya está registrada" y el sistema muestra una sugerencia "¿Desea consultar el vehículo existente?" y al aceptar, redirige a ficha del vehículo duplicado Escenario 3: Chasis o motor duplicado Dado que ingreso el número de chasis "3HGBH41JXMN109186" y/o el Número de motor: MOT123456 ya existentes, cuando intento guardar me genera mensaje de error "El número de chasis ya está registrado en vehículo placa ABC123" y no permite guardar hasta corregir, lo mismo pasara con el numero de motor. Escenario 4: Pre-registro sin documentos completos. Dado que ingreso todos los datos del vehículo pero no adjunto tarjeta de operación (documento obligatorio para taxis), Cuando selecciona "Guardar como pre-registro", entonces el vehículo se crea con estado "Pre-registro - Documentos pendientes"y genera alerta para completar documentación antes de poder activar Escenario 5: Documento vencido - Estado inactivo Dado que el SOAT adjunto venció hace 10 días, Cuando intento guardar como "Activo" el sistema bloquea y muestra error "No se puede activar vehículo con SOAT vencido" y sugiere "Guarde como Pre-registro o actualice el SOAT", Cuando guardo como "Pre-registro" el vehículo se crea con estado "Inactivo - SOAT vencido" y genera alerta crítica para actualizar SOAT Escenario 6: Validaciones de campos y archivos Dado que dejo vacío el campo "Número de motor" o ingreso año "1800" (fuera de rango 1990-2026) o adjunta archivo de 60MB o adjunto formato .jpg en lugar de PDF para SOAT, cuando intento guardar veo mensajes de error específicos por campo y el cursor se posiciona en el primer error y no permite guardar hasta corregir o diligenciar todos los campos correctamente. |
| Característica | ¿Cumple? | Justificación |
|---|---|---|
| I - Independent | No | Depende de estructura BD (HUT-003) |
| N - Negotiable | Sí | Campos requeridos negociables |
| V - Valuable | Sí | Core del negocio |
| E - Estimable | Sí | CRUD estándar |
| S - Small | Sí | 13 puntos, 1 sprint |
| T - Testable | Sí | Validación mediante escenarios Gherkin y pruebas funcionales |
| ID Tarea | Descripción | Tipo | Responsable | Estimación | Prioridad | Estado |
|---|---|---|---|---|---|---|
| SB-001 | Diseñar modelo de datos para vehículo (campos obligatorios + estado) | Backend / BD | Equipo | 4h | Alta | Pendiente |
| SB-002 | Diseñar modelo de documentos asociados al vehículo (tipo, ruta, fecha vencimiento) | Backend / BD | Equipo | 4h | Alta | Pendiente |
| SB-003 | Crear tablas en base de datos: vehículo, documentos, tipos_documento | BD | Equipo | 6h | Alta | Pendiente |
| SB-004 | Implementar entidad Vehículo (clase modelo) | Backend | Equipo | 4h | Alta | Pendiente |
| SB-005 | Implementar entidad DocumentoVehiculo | Backend | Equipo | 4h | Alta | Pendiente |
| SB-006 | Crear endpoint API para registrar vehículo | Backend | Equipo | 6h | Alta | Pendiente |
| SB-007 | Implementar validación de placa única | Backend | Equipo | 3h | Alta | Pendiente |
| SB-008 | Implementar validación de número de motor único | Backend | Equipo | 3h | Alta | Pendiente |
| SB-009 | Implementar validación de chasis (VIN) único | Backend | Equipo | 3h | Alta | Pendiente |
| SB-010 | Implementar validaciones de campos (año, obligatorios, formatos) | Backend | Equipo | 5h | Alta | Pendiente |
| SB-011 | Implementar lógica de estados (Activo, Inactivo, Pre-registro) | Backend | Equipo | 6h | Alta | Pendiente |
| SB-012 | Implementar lógica de validación de documentos (vigencia SOAT, técnico-mecánica) | Backend | Equipo | 6h | Alta | Pendiente |
| SB-013 | Implementar carga de archivos (PDF, imágenes) | Backend | Equipo | 8h | Alta | Pendiente |
| SB-014 | Validar tamaño y formato de archivos | Backend | Equipo | 3h | Media | Pendiente |
| SB-015 | Crear formulario de registro de vehículo | Frontend | Equipo | 8h | Alta | Pendiente |
| SB-016 | Implementar carga de documentos en el frontend | Frontend | Equipo | 6h | Alta | Pendiente |
| SB-017 | Implementar validaciones en frontend (UX: mensajes, focus en error) | Frontend | Equipo | 5h | Media | Pendiente |
| SB-018 | Implementar mensajes de error y éxito (según Gherkin) | Frontend | Equipo | 4h | Alta | Pendiente |
| SB-019 | Implementar opción "Guardar como pre-registro" | Frontend / Backend | Equipo | 4h | Alta | Pendiente |
| SB-020 | Implementar redirección en caso de placa duplicada | Frontend | Equipo | 3h | Media | Pendiente |
| SB-021 | Pruebas unitarias de validaciones backend | QA | Equipo | 5h | Alta | Pendiente |
| SB-022 | Pruebas funcionales basadas en escenarios Gherkin | QA | Equipo | 6h | Alta | Pendiente |
| SB-023 | Pruebas de carga de archivos | QA | Equipo | 4h | Media | Pendiente |
| SB-024 | Ajustes y corrección de bugs | General | Equipo | 6h | Alta | Pendiente |