24 lines
1020 B
Markdown
24 lines
1020 B
Markdown
# Design
|
|
|
|
## Context
|
|
|
|
La venta escribe ventas, líneas y movimientos. La transacción existente sólo declaraba las dos primeras tablas. La interfaz usa nombres MDI sin cargar la fuente y muestra listas completas sin filtro.
|
|
|
|
## Goals / Non-Goals
|
|
|
|
**Goals:** garantizar atomicidad, visibilidad de acciones y búsqueda rápida sin backend.
|
|
|
|
**Non-Goals:** paginación remota o rediseño completo del modelo de inventario.
|
|
|
|
## Decisions
|
|
|
|
- Incluir `movimientosInventario` en el `db.transaction` de ventas.
|
|
- Cargar la fuente CSS MDI y usar botones Vuetify explícitos para aumentar, disminuir y eliminar.
|
|
- Filtrar listas localmente por texto normalizado, manteniendo el almacenamiento offline.
|
|
- Mantener un CSV versionado en `docs` para reproducir pruebas manuales.
|
|
|
|
## Risks / Trade-offs
|
|
|
|
- Filtrar en memoria es suficiente para la POC y evita dependencias; si el catálogo crece mucho deberá migrarse a índices/paginación.
|
|
- El CSV de prueba aumenta el repositorio, pero permite repetir validaciones de UX y carga.
|