CambioCUP es una aplicacion web que proporciona tasas de cambio en tiempo real para las monedas cubanas en relacion al dolar 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: Actualizacion automatica cada 4 segundos
- Cinco Monedas Cubanas:
- CUP (Peso Cubano)
- MLC (Moneda Libremente Convertible)
- CLASICA (Tarjeta Clasica)
- ETECSA (Saldo ETECSA)
- TROPICAL (BANDECPREPAGO)
- Animaciones Fluidas: Transiciones suaves de numeros con NumberFlow
- Indicadores Visuales: Colores que cambian segun la tendencia (verde para bajada, rojo para subida)
- Interfaz Interactiva: Click en cada moneda para cambiar la vista
- Notificaciones Push: Integracion con OneSignal
- Diseno Responsivo: Optimizado para todos los dispositivos
- Widget Embebible: Codigo iframe para insertar en otras paginas
- API REST: Endpoints para obtener datos historicos
- Next.js 16 - Framework de React con App Router y Turbopack
- React 19 - Biblioteca de interfaz de usuario
- Tailwind CSS 4 - Framework de CSS utilitario
- NumberFlow - Animaciones fluidas de numeros
- OneSignal - Sistema de notificaciones push
- API Routes - Endpoints serverless de Next.js
- Supabase - Base de datos PostgreSQL
- Cron Jobs - Actualizacion automatica de datos desde QvaPay API
- Tabla
exchange: Almacena historial de tasas con campos:coin_id: 1 (CUP), 2 (MLC), 3 (CLASICA), 4 (ETECSA), 5 (BANDECPREPAGO)value: Valor de la tasaupdated_at: Timestamp de actualizacion
- Node.js 20+
- npm o yarn
- Cuenta de Supabase
- Clonar el repositorio
git clone https://github.com/n3omaster/cambiocup.git
cd cambiocup- Instalar dependencias
npm install- Configurar variables de entorno
# Crear archivo .env
SUPABASE_URL=tu_url_de_supabase
SUPABASE_KEY=tu_clave_anonima_de_supabase- Ejecutar en desarrollo
npm run dev- Construir para produccion
npm run build
npm startObtiene el historial de las cinco monedas (ultimas 6 entradas cada una)
{
"cupHistory": [...],
"mlcHistory": [...],
"clasicaHistory": [...],
"etecsaHistory": [...],
"bandecprepagoHistory": [...]
}Endpoint para cron jobs que actualiza las tasas desde QvaPay API
Genera imagenes Open Graph dinamicas para redes sociales
- Cron Job ejecuta periodicamente y obtiene datos de QvaPay API
- Supabase almacena los nuevos valores en la tabla
exchange - Frontend consulta la API cada 4 segundos para obtener datos actualizados
- Helpers calculan promedios y aplican variaciones para simular fluctuaciones en tiempo real
- NumberFlow anima las transiciones de valores suavemente
- UI actualiza colores segun las tendencias (verde = bajada, rojo = subida)
- Cambio de Moneda: Click en cualquier moneda para alternar la vista
- Indicadores de Color:
- Verde (
bg-malachite): Tasa actual < Promedio (tendencia a la baja) - Rojo (
bg-crimson): Tasa actual > Promedio (tendencia al alza)
- Verde (
- Animaciones: Transiciones fluidas al cambiar valores numericos
- Widget: Boton para obtener codigo iframe embebible
- Diseno Minimalista: Interfaz limpia centrada en la informacion
npm run dev # Desarrollo con Turbopack (default en Next.js 16)
npm run build # Construccion para produccion
npm run start # Iniciar servidor de produccion
npm run lint # Ejecutar ESLintLa aplicacion esta optimizada para desplegarse en:
- Vercel (recomendado para Next.js)
- Netlify
- Railway
- Cualquier plataforma que soporte Node.js 20+
- Manifest configurado: Instalable como aplicacion
- Responsive Design: Adaptable a todos los tamanos de pantalla
- Touch Friendly: Interfaz optimizada para dispositivos tactiles
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/NuevaFuncion) - Commit tus cambios (
git commit -m 'Add NuevaFuncion') - Push a la rama (
git push origin feature/NuevaFuncion) - Abre un Pull Request
Este proyecto es un servicio gratuito desarrollado por QvaPay. Todos los derechos reservados.
Erich Garcia Cruz
CambioCUP - Un servicio gratuito para monitorear las tasas de cambio en Cuba