Estado actual del prototipo Android¶
Este documento describe únicamente lo observado en el código revisado el 2026-07-11. No sustituye las decisiones de negocio en
producto/decisiones-vigentes.mdni afirma integración con backend. Para entender qué hace el prototipo real, leer este archivo; para saber qué debe hacer el producto, leer las decisiones vigentes.
Cifras clave de la revisión¶
| Métrica | Valor |
|---|---|
Archivos Kotlin en main |
130 |
Pantallas (*Screen.kt) |
38 |
| Enums de estado | 12 |
| Modelos de dominio | 17 |
Notificaciones demo en FakeDataSource |
20 |
Literales Color(0x…) |
249 |
Literales dp |
585 |
| Tamaños de texto 8–11sp | 25 |
contentDescription = null (posible issue) |
95 |
Tecnología observada¶
- Android nativo, Kotlin 2.2.10, Jetpack Compose (BOM
2026.02.01). applicationId:com.example.islabox.namespace:com.example.islabox(inconsistencia resuelta: ambos coinciden).minSdk = 24,targetSdk = 35,compileSdk = 37, Java 11.- Navegación Compose tipada con
kotlinx.serialization1.7.3. - CameraX para captura KYC.
- Datos de demostración locales (
FakeDataSource,CurrentUser).
Estado por módulo¶
| Módulo | Madurez | Observación |
|---|---|---|
| Bienvenida / login / registro | 🧪 Simulado | Acceso local; sin backend ni sesión entre reinicios. |
| Recuperación de sesión | 🧪 Simulado | Email, OTP demo, nueva contraseña y confirmación. |
| Tutorial | ✅ Implementado | Se muestra una vez, puede omitirse y permanece accesible desde Ayuda. |
| Dashboard | 🧪 Simulado | Consume estado compartido y muestra banda persistente de demo. |
| Prealerta | 🧪 Simulado | Tracking opcional, creación en sesión, edición posterior y recepción demo. |
| Paquetes / detalle | 🧪 Simulado | Presentación centralizada de estados y acciones dependientes del estado. |
| KYC | 🧪 Simulado | Estado compartido, gate y herramientas demo de revisión/aprobación/rechazo. |
| Consolidación | 🧪 Simulado | Crea consolidación y cotización persistentes desde un único cálculo. |
| Pago / factura | 🧪 Simulado | Solo comprobante manual, pago reportado y aprobación/despacho demo. |
| Servicios | 🧪 Simulado | Solicitudes locales visibles durante la sesión. |
| Envíos | 🧪 Simulado | Despacho demo lleva al detalle y al timeline del envío. |
| Perfil / contactos | 🧪 Simulado | Perfil consume el usuario compartido; persistencia fuera de alcance. |
| Guía / aduana | 🧪 Parcial | Contenido local; normativa debe revisarse por su owner. |
| Notificaciones | 🧪 Simulado | Eventos demo dinámicos abren el objetivo relacionado. |
| Navegación | 🧪 Simulado | Gates, factura, incidencias y servicios están conectados al flujo demo. |
Configuración observada en código¶
| Parámetro | Valor | Fuente |
|---|---|---|
| Almacenaje gratis | 5 días | AppSettings (no alineado con D-102) |
| Aviso pre-vencimiento | 1 día | AppSettings (no alineado con D-104) |
| Costo diario extra | $1.00 USD | AppSettings (no alineado con D-103) |
| Tarifa marítimo | $2.40 / lb | AppSettings (alineado con D-105) |
| Tarifa aéreo | $3.35 / lb | AppSettings (alineado con D-106) |
Estos valores son datos del código, no decisiones aprobadas. Hasta que se cierren las decisiones pendientes, cualquier discrepancia entre este archivo y producto/decisiones-vigentes.md se resuelve a favor de las decisiones.
Avance posterior al snapshot¶
Cambios implementados en el árbol de trabajo el 2026-07-11. Este apartado no sustituye el snapshot auditado de arriba; requiere compilación y prueba en dispositivo antes de cambiar su estado a verificado.
DemoSessionRepositoryes la fuente de verdad de usuario/KYC, prealertas, paquetes, consolidaciones, cotizaciones, pagos, servicios, incidencias y notificaciones.FakeDataSourcequeda como fachada temporal.- La prealerta crea un reporte en sesión; el tracking es opcional, editable después y la recepción demo actualiza peso, fechas, estado y notificación.
- KYC conserva el expediente y sincroniza
SUBMITTED, revisión, aprobación o rechazo con el usuario. Consolidación, pago y despacho aplican el gate. - La recuperación solicita nueva contraseña y confirmación después del OTP demo. El código demo válido es
123456. - El pago se limita al comprobante manual: crea
REPORTED, requiere aprobación demo y solo entonces habilita despacho. - Consolidación crea una cotización persistente de siete días; resumen, detalle, pago y factura usan sus mismos cargos y total.
- Estados, textos y colores de paquetes salen de una capa de presentación central; los textos explícitos de interfaz se elevaron a un mínimo de 12sp.
- Tutorial, notificaciones, incidencias y servicios mantienen acciones observables durante la sesión.
Validación pendiente¶
bash ./gradlew testDebugUnitTest no pudo ejecutarse en este entorno porque no hay comando java ni variable JAVA_HOME. Hay pruebas de repositorio demo añadidas, pero no se consideran ejecutadas.
Limitaciones de la revisión¶
- Revisión estática sobre código fuente y APK release incluido.
- No se ejecutó emulador ni dispositivo real.
- El wrapper intentaría descargar Gradle 9.3.1 y no pudo por falta de red.
- Los hallazgos de UX se derivan del código Compose, estados locales, fixtures y callbacks.
Los hallazgos exhaustivos de la revisión están resumidos en este documento, el catálogo de pantallas y el backlog vigente; el archivo de auditoría original no se distribuye en este repositorio.