Terminal retro de criptomonedas con red social integrada para traders y entusiastas del crypto.
- Búsqueda en tiempo real de criptomonedas
- Datos actualizados de CoinGecko API
- Información detallada de precios y capitalización
- Sistema de favoritos
- Crea múltiples portfolios personalizados
- Tracking de inversiones en tiempo real
- Cálculo automático de ganancias/pérdidas (P&L)
- Portfolios públicos y privados
- Visualización de distribución de activos
- Alertas de precio personalizadas
- Notificaciones cuando se alcanza el precio objetivo
- Condiciones "above" y "below"
- Ver alertas populares con sentiment del mercado
- Notificaciones por email (opcional)
- Crea posts sobre análisis de criptomonedas
- Sistema de reacciones (👍 Like, 📈 Bullish, 📉 Bearish, 🔥 Fire)
- Comentarios en posts
- Sentiment tracking (Bullish/Bearish/Neutral)
- Precios objetivo compartidos
- Feed en tiempo real con Supabase Realtime
- Perfiles personalizables
- Upload de foto de perfil
- Bio, redes sociales y sitio web
- Sistema de niveles y XP
- Seguidores y seguidos
- Estadísticas de trader
- Estética cyberpunk/terminal
- Animaciones suaves con Framer Motion
- Grid background tipo matriz
- Efectos de glow neón
- Tipografía monospace
- Modo oscuro nativo
- Español e Inglés
- Cambio de idioma en tiempo real
- Detección automática del navegador
- Diseño adaptable a todos los dispositivos
- Mobile-first approach
- Menú hamburguesa en móvil
- Next.js 15.4 - Framework React con App Router
- TypeScript - Tipado estático
- Tailwind CSS - Estilos utilitarios
- Framer Motion - Animaciones
- React Hot Toast - Notificaciones
- Heroicons - Iconos
- Supabase - Backend as a Service
- PostgreSQL Database
- Row Level Security (RLS)
- Realtime Subscriptions
- Storage para avatares
- Authentication (Email, Google, GitHub)
- CoinGecko API - Datos de criptomonedas
- Node.js 18+
- npm o yarn
- Cuenta en Supabase
git clone https://github.com/tu-usuario/crypto-terminal.git
cd crypto-terminal/crypto-searchnpm installCrea un archivo .env.local en la raíz del proyecto:
# CoinGecko API
NEXT_PUBLIC_COINGECKO_API=https://api.coingecko.com/api/v3
# Supabase
NEXT_PUBLIC_SUPABASE_URL=tu_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=tu_supabase_anon_key
# App
NEXT_PUBLIC_APP_NAME=Crypto Terminal- Ve a https://supabase.com
- Crea un nuevo proyecto
- Copia la URL y la Anon Key
Ve a SQL Editor en Supabase y ejecuta en orden:
- Crear tablas principales
-- Ejecutar: crypto-backend/scripts/create-remaining-tables.sql- Configurar triggers
-- Ejecutar: crypto-backend/scripts/recreate-trigger.sql- Arreglar constraints
-- Ejecutar: crypto-backend/scripts/fix-constraints.sql- Crear bucket de avatares
-- Ejecutar: crypto-backend/scripts/create-avatar-bucket.sqlnpm run devAbre http://localhost:3000 en tu navegador.
crypto-search/
├── src/
│ ├── app/ # App Router de Next.js
│ │ ├── alerts/ # Página de alertas
│ │ ├── auth/ # Login/Registro
│ │ ├── portfolio/ # Gestión de portfolios
│ │ ├── profile/ # Perfil de usuario
│ │ └── social/ # Red social
│ ├── components/
│ │ ├── features/ # Componentes de features
│ │ ├── language/ # Sistema i18n
│ │ ├── navigation/ # Navegación y menús
│ │ ├── theme/ # Temas
│ │ └── ui/ # Componentes UI base
│ ├── contexts/ # React Contexts
│ ├── hooks/ # Custom Hooks
│ │ └── supabase/ # Hooks de Supabase
│ ├── lib/
│ │ ├── supabase/ # Cliente y funciones de Supabase
│ │ ├── services/ # Servicios externos (CoinGecko)
│ │ └── validations.ts # Validaciones de formularios
│ └── types/ # TypeScript types
├── public/ # Assets estáticos
└── crypto-backend/
└── scripts/ # Scripts SQL de Supabase
- profiles - Perfiles de usuario
- posts - Posts de la red social
- comments - Comentarios en posts
- reactions - Reacciones (like, bullish, bearish, fire)
- portfolios - Portfolios de inversión
- portfolio_items - Items dentro de portfolios
- alerts - Alertas de precio
- follows - Sistema de seguir usuarios
- posts_with_author - Posts con información del autor
- popular_alerts - Alertas más populares con sentiment
- avatars - Bucket para fotos de perfil
Métodos soportados:
- ✅ Email/Password
- ✅ Google OAuth
- ✅ GitHub OAuth
- Inicia sesión o regístrate
- Ve a la sección "Red Social"
- Click en "CREAR_POST"
- Completa el formulario:
- Coin ID (ej: bitcoin)
- Símbolo (ej: BTC)
- Título del análisis
- Contenido
- Sentiment (Bullish/Bearish/Neutral)
- Precio objetivo (opcional)
- Publica y comparte con la comunidad
- Ve a "Portfolio"
- Click en "CREAR"
- Nombra tu portfolio
- Agrega cryptos:
- Selecciona la moneda
- Cantidad que posees
- Precio de compra
- El sistema calculará automáticamente tu P&L
- Ve a "Alertas"
- Click en "CREAR_ALERTA"
- Configura:
- Criptomoneda
- Precio objetivo
- Condición (above/below)
- Notificación por email
- Recibe notificaciones cuando se alcance el precio
- Sube tu código a GitHub
- Importa el proyecto en Vercel
- Configura las variables de entorno
- Deploy automático
NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
NEXT_PUBLIC_COINGECKO_API=https://api.coingecko.com/api/v3
NEXT_PUBLIC_APP_NAME=Crypto Terminal
# Desarrollo
npm run dev
# Build para producción
npm run build
# Iniciar en producción
npm start
# Linting
npm run lintEdita src/app/globals.css:
:root {
--primary-rgb: 0, 255, 0; /* Verde terminal */
--background: #0a0a0a;
--primary: #00ff00;
}
/* Para tema azul matrix */
:root {
--primary-rgb: 0, 255, 255;
--primary: #00ffff;
}- Sistema de badges y logros
- Notificaciones push
- Charts con TradingView
- API pública
- PWA support
- Sistema de comentarios mejorado
- Búsqueda de usuarios
- Trending traders
- Analytics avanzados
Las contribuciones son bienvenidas!
- Fork el proyecto
- Crea una rama (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add: AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Este proyecto está bajo la Licencia MIT. Ver LICENSE para más información.
Kevin - GitHub
- CoinGecko por la API de datos
- Supabase por el backend
- Vercel por el hosting
- Heroicons por los iconos
¿Necesitas ayuda? Abre un issue en GitHub o contacta al equipo.
Hecho con ❤️ y ☕ por la comunidad crypto