CambioCUP es una aplicación web que proporciona tasas de cambio en tiempo real para las monedas cubanas (CUP, MLC y CLASICA) en relación al dólar estadounidense. Es un servicio gratuito desarrollado por QvaPay que permite a los usuarios monitorear las fluctuaciones de las tasas de cambio de manera visual e interactiva.
- Tasas en Tiempo Real: Actualización automática cada 5 segundos
- Tres Monedas Cubanas:
- CUP (Peso Cubano)
- MLC (Moneda Libremente Convertible)
- CLASICA (Moneda Clásica)
- Indicadores Visuales: Colores que cambian según la tendencia (verde para bajada, rojo para subida)
- Interfaz Interactiva: Click en cada moneda para cambiar la vista
- Notificaciones Push: Integración con OneSignal
- Diseño Responsivo: Optimizado para todos los dispositivos
- API REST: Endpoints para obtener datos históricos
- Next.js 15.5.2 - Framework de React con App Router
- React 19.1.1 - Biblioteca de interfaz de usuario
- Tailwind CSS 4.1.12 - Framework de CSS utilitario
- OneSignal - Sistema de notificaciones push
- API Routes - Endpoints de Next.js
- Supabase - Base de datos y autenticación
- Cron Jobs - Actualización automática de datos
- Tabla
exchange
: Almacena historial de tasas con campos:coin_id
(1: CUP, 2: MLC, 3: CLASICA)value
(valor de la tasa)updated_at
(timestamp de actualización)
- Node.js 18+
- npm o yarn
- Cuenta de Supabase
- Clonar el repositorio
git clone https://github.com/tu-usuario/cambiocup.git
cd cambiocup
- Instalar dependencias
npm install
- Configurar variables de entorno
# Crear archivo .env.local
SUPABASE_URL=tu_url_de_supabase
SUPABASE_ANON_KEY=tu_clave_anonima_de_supabase
- Ejecutar en desarrollo
npm run dev
- Construir para producción
npm run build
npm start
Obtiene el historial de las tres monedas (últimas 6 entradas)
{
"cupHistory": [...],
"mlcHistory": [...],
"mlcHistory": [...]
}
Endpoint para cron jobs que actualiza las tasas desde QvaPay API
Genera imágenes Open Graph para redes sociales
- Cron Job ejecuta cada hora y obtiene datos de QvaPay API
- Supabase almacena los nuevos valores en la tabla
exchange
- Frontend consulta la API cada 5 segundos para obtener datos actualizados
- Helpers calculan promedios y aplican variaciones aleatorias para simular fluctuaciones
- UI actualiza colores y valores según las tendencias
- Cambio de Moneda: Click en CUP, MLC o CLASICA para alternar
- Indicadores de Color:
- 🟢 Verde (
bg-malachite
): Tasa actual < Promedio (tendencia a la baja) - 🔴 Rojo (
bg-crimson
): Tasa actual > Promedio (tendencia al alza)
- 🟢 Verde (
- Actualización Automática: Cada 5 segundos
- Diseño Minimalista: Interfaz limpia y fácil de usar
npm run dev # Desarrollo con Turbopack
npm run build # Construcción para producción
npm run start # Iniciar servidor de producción
npm run lint # Ejecutar ESLint
La aplicación está optimizada para desplegarse en:
- Vercel (recomendado para Next.js)
- Netlify
- Railway
- Cualquier plataforma que soporte Node.js
- PWA Ready: Manifest y service workers configurados
- Responsive Design: Adaptable a todos los tamaños de pantalla
- Touch Friendly: Interfaz optimizada para dispositivos táctiles
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature
) - Commit tus cambios (
git commit -m 'Add some AmazingFeature'
) - Push a la rama (
git push origin feature/AmazingFeature
) - Abre un Pull Request
Este proyecto es un servicio gratuito desarrollado por QvaPay. Todos los derechos reservados.
Erich Garcia Cruz
- QvaPay por proporcionar la API de tasas de cambio
- Supabase por la infraestructura de base de datos
- Next.js por el framework de desarrollo
CambioCUP - Un servicio gratuito para monitorear las tasas de cambio en Cuba 🇨🇺