Plataforma multiplataforma para planificación inteligente de la compra, comparación de precios y colaboración en tiempo real
ComPrara es una aplicación full-stack multiplataforma desarrollada como Proyecto Final de Desarrollo de Aplicaciones Multiplataforma (DAM).
Su objetivo es ayudar a usuarios, familias y grupos a optimizar la planificación de sus compras mediante:
- Comparación de precios entre supermercados
- Listas compartidas en tiempo real
- Estadísticas de gasto
- Geolocalización de tiendas
- Gestión de tickets de compra
- Escaneo de productos mediante código de barras
- Funcionamiento offline en dispositivos móviles
- Asistente contextual integrado
El proyecto ha sido diseñado siguiendo una arquitectura desacoplada y escalable, preparada para ejecutarse tanto en navegador como en dispositivos móviles.
- Integración con Mercadona mediante Algolia
- Integración con HiperDino mediante scraping
- Arquitectura extensible basada en proveedores desacoplados
- Búsquedas optimizadas y cacheadas
- Creación y edición de listas
- Cálculo automático de importes
- Compartición entre usuarios
- Organización por salas colaborativas
- Chat mediante WebSockets
- Gestión de salas
- Roles y permisos
- Moderación de usuarios
- Sincronización instantánea
- Evolución del gasto mensual
- Distribución por supermercados
- Productos más consumidos
- Indicadores de ahorro
- Almacenamiento de tickets asociados a compras
- Consulta histórica
- Integración con estadísticas
Asistente integrado capaz de:
- Consultar información contextual del usuario
- Ayudar con la gestión de listas
- Interpretar estadísticas
- Facilitar la navegación por la plataforma
Su arquitectura está diseñada para permitir futuras integraciones con modelos de lenguaje avanzados.
- Integración con OpenStreetMap
- Localización de supermercados cercanos
- Visualización interactiva mediante Leaflet
Implementada mediante Capacitor.
Funcionalidades exclusivas:
- Escaneo de productos mediante código de barras
- Consulta nutricional mediante Open Food Facts
- Clasificación NOVA
- Base de datos SQLite local
- Sincronización offline/online automática
- Modo oscuro nativo
React SPA
│
│ REST API
│ WebSockets
▼
FastAPI
│
SQLAlchemy
│
▼
PostgreSQL
Android (Capacitor)
│
SQLite Local
│
Sync Service
│
▼
FastAPI
Principales características arquitectónicas:
- Frontend y backend completamente desacoplados
- API REST stateless basada en JWT
- Comunicación en tiempo real mediante WebSockets
- Arquitectura modular por routers
- Persistencia relacional con PostgreSQL
- Soporte offline para dispositivos móviles
- React
- React Router
- Material UI
- Axios
- Framer Motion
- i18next
- Leaflet
- Capacitor
- FastAPI
- SQLAlchemy
- Alembic
- PostgreSQL
- WebSockets
- JWT
- OAuth Google
- BeautifulSoup
- RapidFuzz
- Docker
- Nginx
- Ubuntu Server
- Tailscale Funnel
- Open Food Facts
- Algolia (Mercadona)
- Google OAuth
- Proyecto desarrollado individualmente
- Aplicación Web + Android
- Arquitectura desacoplada
- Comunicación en tiempo real
- Soporte offline
- Base de datos relacional de 13 tablas
- Despliegue en servidor propio
- Autenticación JWT + OAuth Google
- Aplicación Android compilada y firmada
El código fuente completo del proyecto permanece privado.
Este repositorio tiene como finalidad mostrar:
- Arquitectura
- Diseño técnico
- Funcionalidades implementadas
- Capturas de la aplicación
- Decisiones de ingeniería
El acceso al código puede facilitarse bajo petición durante procesos de selección técnica.
Implementación de SQLite local con sincronización automática hacia PostgreSQL cuando se recupera la conectividad.
Diseño desacoplado para incorporar nuevos supermercados sin modificar la lógica principal.
Implementación de WebSockets con gestión de salas, roles y permisos.
Uso de una única API para cliente web React y aplicación Android nativa mediante Capacitor.
Despliegue completo en servidor propio utilizando Docker, Nginx y acceso seguro mediante Tailscale.
- Lidl
- Aldi
- Carrefour
- Supermercados locales
- Recomendación de recetas
- Sugerencias inteligentes de compra
- Optimización automática de listas
- Publicación en Google Play, entre otras
- Alertas de bajadas de precio
Desarrollo de Aplicaciones Multiplataforma (DAM)
Proyecto desarrollado de forma individual como trabajo final de ciclo.









