AguApp
2024 — 2025Marketplace para comprar y vender agua potable en Venezuela, con app móvil y dashboard, sobre una arquitectura de microservicios.
Digitaliza la compra y venta de agua en Venezuela, donde la gente —sin agua en el grifo y con cortes de luz frecuentes— depende de tiendas de agua cercanas sin saber si están abiertas, activas o saturadas. AguApp lo resuelve para el cliente (encuentra tiendas activas y pide), el dueño/encargado (acepta y valida pedidos, valida pagos, asigna pedidos a delivery, ve historial por día/semana/mes y analítica de ventas; un encargado por tienda si hay varias) y el delivery (ve al cliente en el mapa y ordena los pedidos por prioridad/cercanía para recoger o entregar varias botellas en un solo viaje con rutas optimizadas). Móvil en React Native/Expo (Android/iOS) y dashboard en React, ambos consumiendo el API Gateway, con un backend de microservicios desacoplados comunicados por RabbitMQ. Cada microservicio trabaja con PostgreSQL y Redis (caché e índices) para optimizar las consultas.
API Gateway
Punto de entrada REST y orquestador; lo consumen móvil y dashboard.
Orquesta las peticiones hacia los microservicios aplicando Repository Pattern; único punto de entrada REST para la app móvil y el dashboard.
Realtime Gateway
Segundo punto de entrada dedicado a tiempo real.
Expone WebSockets en varias secciones de la app para actualizaciones en vivo y mayor velocidad.
Tiendas
Ubicación, estado (abierta/cerrada), tanques, managers y favoritos.
Centraliza todo lo relacionado a la tienda: ubicación, estado abierto/cerrado, registro de tanques, asignación de managers y tiendas favoritas del cliente. En Laravel, con PostgreSQL y Redis para cachear y optimizar consultas vía índices.
Órdenes
Lógica de pedidos centralizada y desacoplada.
Modela el ciclo de vida del pedido de forma independiente al resto de servicios.
Wallet
Wallet interna, comisiones y pago de servicios.
Gestiona la wallet interna con Bavix: comisiones por transacción y pago de servicios desde las ventas.
Notificaciones
Procesa y almacena la información de estas acciones.
Consume eventos por RabbitMQ y procesa/almacena la información de las acciones de forma desacoplada.
App móvil
Cliente y delivery; mapa y rutas optimizadas.
React Native/Expo (Android/iOS) con arquitectura DDD por capas; mapa con Google Maps y trazado de rutas con Mapbox para el delivery.
Dashboard
Gestión de tiendas, pedidos, pagos, deliveries e historial.
Panel en React con Compound Components y DDD para desacoplar la lógica; gestiona tiendas, pedidos, pagos, deliveries e historial/analítica.