Skip to content

Tere2087/ComPrara-Showcase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Plataforma multiplataforma para planificación inteligente de la compra, comparación de precios y colaboración en tiempo real


📖 Resumen

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.


😱 Características principales

💰 Comparador de precios multi-supermercado

  • Integración con Mercadona mediante Algolia
  • Integración con HiperDino mediante scraping
  • Arquitectura extensible basada en proveedores desacoplados
  • Búsquedas optimizadas y cacheadas

📝 Gestión de listas colaborativas

  • Creación y edición de listas
  • Cálculo automático de importes
  • Compartición entre usuarios
  • Organización por salas colaborativas

💬 Comunicación en tiempo real

  • Chat mediante WebSockets
  • Gestión de salas
  • Roles y permisos
  • Moderación de usuarios
  • Sincronización instantánea

📊 Estadísticas y análisis

  • Evolución del gasto mensual
  • Distribución por supermercados
  • Productos más consumidos
  • Indicadores de ahorro

🧾 Gestión de tickets

  • Almacenamiento de tickets asociados a compras
  • Consulta histórica
  • Integración con estadísticas

🤖 Compi · Asistente contextual

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.


📍 Geolocalización

  • Integración con OpenStreetMap
  • Localización de supermercados cercanos
  • Visualización interactiva mediante Leaflet

📱 Aplicación móvil Android e IOS

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

🏗 Arquitectura

                    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

🛠 Stack tecnológico

Frontend 🎨

  • React
  • React Router
  • Material UI
  • Axios
  • Framer Motion
  • i18next
  • Leaflet
  • Capacitor

Backend 🔩

  • FastAPI
  • SQLAlchemy
  • Alembic
  • PostgreSQL
  • WebSockets
  • JWT
  • OAuth Google
  • BeautifulSoup
  • RapidFuzz

Infraestructura 🏛️

  • Docker
  • Nginx
  • Ubuntu Server
  • Tailscale Funnel

APIs Externas 👩🏽‍💻💡

  • Open Food Facts
  • Algolia (Mercadona)
  • Google OAuth

📈 Métricas del proyecto

  • 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

📸 Capturas

Versión Web 💻

Dashboard

Dashboard

Comparador de precios

Comparador

Chat colaborativo

Chat

Estadísticas

Estadísticas


Versión Móvil 📱

Listas

Listas

Comparador

Comparador móvil

Escáner de productos

Scanner Scanner

Perfil

Perfil


🔒 Código fuente

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.


🧠 Retos técnicos resueltos

Sincronización offline

Implementación de SQLite local con sincronización automática hacia PostgreSQL cuando se recupera la conectividad.

Comparador multi-provider

Diseño desacoplado para incorporar nuevos supermercados sin modificar la lógica principal.

Tiempo real

Implementación de WebSockets con gestión de salas, roles y permisos.

Multiplataforma

Uso de una única API para cliente web React y aplicación Android nativa mediante Capacitor.

Infraestructura self-hosted

Despliegue completo en servidor propio utilizando Docker, Nginx y acceso seguro mediante Tailscale.


🚧 Roadmap

Próximas mejoras

Comparador

  • Lidl
  • Aldi
  • Carrefour
  • Supermercados locales

Compi

  • Recomendación de recetas
  • Sugerencias inteligentes de compra
  • Optimización automática de listas

Plataforma

  • Publicación en Google Play, entre otras
  • Alertas de bajadas de precio

👩🏽‍💻 Autora Teresa Cáceres

Desarrollo de Aplicaciones Multiplataforma (DAM)

Proyecto desarrollado de forma individual como trabajo final de ciclo.

About

aplicación full-stack multiplataforma

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors