Tienda de Barrio
Descripción & Contexto
App completa de tienda de barrio: ventas, fiado, inventario con fotos, compras con costo promedio ponderado y reportes por rol. Kotlin + Compose + Supabase con soporte offline idempotente.
Tienda de Barrio es una aplicacion de gestion comercial completa para tiendas de barrio, construida en Android nativo con Kotlin + Jetpack Compose (Material 3) y Supabase como backend (PostgreSQL + Auth + Realtime + RLS). La logica critica de negocio vive en triggers y RPC de Postgres, no en el cliente.
Características Clave
-
Ventas
Ticket multilinea, efectivo o fiado, con abono inicial opcional. RPC transaccional que inserta todo en una sola transaccion.
-
Compras (solo admin)
Entrada de stock que recalcula el costo por promedio ponderado en tabla confidencial separada del catalogo.
-
Inventario
Alta/edicion de productos con marca, presentacion, codigo de barras y foto comprimida (WEBP, lado menor a 720px, ~50 KB).
-
Clientes / Fiado
Saldo por cobrar, abonos y pantalla "por cobrar".
-
Reportes
Resumen del periodo server-side; el vendedor ve totales sin ganancia, el admin ve margen y compras.
-
Offline
Deteccion de conectividad y sincronizacion diferida con idempotencia por client_op_id.
Arquitectura del Sistema
Retos Técnicos & Soluciones
Stack Tecnológico
- Kotlin
- Jetpack Compose
- Supabase
- PostgreSQL
- Material 3
Ficha Técnica
- Rol
- Arquitectura, Diseño y Desarrollo
- Tipo
- Android Nativo • Produccion
- Impacto & Resultados
- Aplicacion completamente funcional con sincronizacion offline robusta, manejo de roles con RLS y logica de negocio transaccional en el servidor. Zero duplicados en operaciones criticas gracias a la idempotencia.
- Aprendizajes
- Este proyecto demuestra arquitectura de nivel senior en Android: capas limpias, seguridad por diseno (RLS + roles), offline-first con idempotencia, y logica critica delegada al servidor para mantener la integridad de los datos. <div
- Código
- Código Privado