Flujos de usuario

Los recorridos que hace una persona desde que abre la aplicación hasta que resuelve su tarea. Todos cumplen los principios P-1 a P-4 de la sección 3.

6.1 Navegación general entre pantallas

Al abrir la aplicación aparece primero una pantalla de splash (logo, 400 ms) que resuelve sola su navegación hacia Resumen; no requiere ningún toque y nunca vuelve a aparecer hasta el siguiente arranque en frío (P-4). A partir de ahí, la app tiene una sola raíz de navegación: una barra inferior con tres destinos (Resumen, Registro e Historial). El registro es el único camino que puede regresar al Resumen al terminar; los otros dos conmutan directamente.

flowchart TD S["Splash\nLogo · 400 ms\nsin barra inferior"] A["Arranque en frío"] B["Resumen\n¿Cuánto llevo gastado?"] C["Registro\nGasto o ingreso"] D["Historial\nMovimientos del mes"] E["Guardado ✓ → vuelve a Resumen"] A --> S S -->|"automático, sin toque"| B B -->|"barra inferior"| C B -->|"barra inferior"| D C -->|"barra inferior"| B C -->|"barra inferior"| D D -->|"barra inferior"| B D -->|"barra inferior"| C C -->|"movimiento guardado"| E E --> B
Figura 6.1 · Navegación general: splash de arranque seguido de la barra inferior (Navigation Compose).

6.2 Flujo de registro de un gasto o ingreso

El recorrido crítico del producto: dos decisiones (monto y categoría) y un toque final para guardar. Ningún campo adicional aparece en el camino; la fecha y el tipo tienen valor por omisión (§3.1).

flowchart TD INICIO(["Abres la app en Resumen"]) TOCAR["Botón + (registro)"] PASO1["Paso 1 · Monto\nTeclado numérico propio"] VALIDAR{"¿Monto válido?\n0 < monto < $999,999.99"} TIPO{"¿Gasto o ingreso?"} PASO2["Paso 2 · Categoría\nComida · Transporte · Casa · Ocio · Salud · Otro"] NOTA["Nota opcional\n(oculta, no te detiene)"] GUARDAR["Guardar movimiento"] OK["Confirmación\nResumen actualizado"] ERROR["Botón continuar\ndeshabilitado"] INICIO --> TOCAR TOCAR --> PASO1 PASO1 --> VALIDAR VALIDAR -->|"monto 0"| ERROR ERROR --> PASO1 VALIDAR -->|"válido"| TIPO TIPO -->|"gasto (por omisión)"| PASO2 TIPO -->|"ingreso"| PASO2 PASO2 --> NOTA --> GUARDAR --> OK
Figura 6.2 · Flujo de registro en dos pasos. El tiempo objetivo es menor a 8 segundos.

6.3 Flujo de consulta del resumen

El caso de uso que el 68 % de la encuesta pidió primero (H-3): entrar y saber en el primer segundo cuánto lleva gastado. La pantalla principal entrega la respuesta sin ningún toque adicional.

flowchart LR A(["Abres la app"]) --> B["Resumen carga\n(menos de 2 s)"] B --> C["Disponible del mes\n$10,000 − gastado"] B --> D["Gastado hoy"] B --> E["Gastado en el mes"]
Figura 6.3 · Consulta del resumen: tres cifras legibles de un vistazo, sin desplazarse.

6.4 Flujo de corrección (eliminar un registro)

Registrar rápido produce errores; la corrección debe tomar máximo tres toques y nunca borrar por accidente (RN-10).

flowchart TD A(["Historial\nlong press sobre el movimiento"]) B["Diálogo de confirmación\n¿Eliminar este movimiento?"] C{"¿Confirmas?"} D["Se elimina y el resumen\nse recalcula (Room Flow)"] E["Se cancela\nnada cambia"] A --> B --> C C -->|"Eliminar"| D C -->|"Cancelar"| E
Figura 6.4 · Eliminación de un movimiento con confirmación y recálculo automático.

6.5 Flujo del recordatorio diario (notificación)

Ana Sofía tiene ingresos variables y jornadas irregulares: el riesgo no es que el registro sea lento, sino que se le olvide hacerlo. Un recordatorio local diario, programado con WorkManager, resuelve ese olvido sin depender de un backend ni de una cuenta en la nube (§12).

flowchart TD ARR["Primer arranque en frío"] PERM{"¿Permiso de\nnotificaciones concedido?"} PROG["Se programa la tarea periódica\n(cada 24 h, WorkManager)"] ESPERA["Pasa un día"] NOTIF["Notificación\n«No olvides registrar tus movimientos»"] TOCAR["Tocas la notificación"] ABRE["Se abre la app\n(splash → Resumen)"] IGNORA["La ignoras o la deslizas"] SIGUE["Se descarta, sin cambios"] ARR --> PERM PERM -->|"sí"| PROG PERM -->|"no"| PROG PROG --> ESPERA --> NOTIF NOTIF --> TOCAR --> ABRE NOTIF --> IGNORA --> SIGUE
Figura 6.5 · Recordatorio diario: se programa una sola vez y se repite aunque el permiso se haya negado (WorkManager respeta el permiso al mostrar la notificación). Queda pendiente que, al tocarla, la app abra directo en Registro en vez de en Resumen (§12).

6.6 Resumen de los flujos por persona usuaria

Tabla 6.6 · Flujos y la persona de la sección 2 que los motiva
FlujoPerfil que lo motivaDecisión de diseño aplicada
Registro rápidoAna Sofía (21 años)Registro de dos decisiones, teclado de teclas grandes, funciona sin internet.
Consulta del resumenCarlos (34 años)Disponible del mes en el bloque superior con el mayor tamaño de texto.
Corrección de erroresDavid (bitácora de pruebas)Eliminación con confirmación nunca a más de tres toques.
Recordatorio diarioAna Sofía (21 años)Notificación local diaria que no depende de abrir la app para existir; nunca bloquea el arranque (P-4).