You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CryptoWorld — TFG Sistema de Análisis de Criptomonedas
Trabajo de Fin de Grado — Ingeniería Informática, UCLM
Arquitectura Cliente-Servidor con Clean Architecture Última actualización: Abril 2026
Descripción
Plataforma web para el análisis cuantitativo de criptomonedas desarrollada como TFG siguiendo los principios de Arquitectura Limpia (Clean Architecture — Robert C. Martin). El sistema integra datos de mercado reales de Binance y CoinGecko, aplica análisis técnico con 11 indicadores, predicción ML con Random Forest, detección de patrones de velas, backtesting de 5 estrategias, y presenta todo en gráficos profesionales con KLineChart v9.
Stack tecnológico
Capa
Tecnología
Versión
Frontend
React + TypeScript + Vite + TailwindCSS
18.3 / 5.5 / 5.3 / 3.4
Gráficos
KLineChart (velas profesionales, 20+ indicadores, 15 herramientas de dibujo)
Calcular indicador técnico (RSI, MACD, SMA, EMA, Bollinger)
POST
/api/analysis/signals/
JWT
Panel multi-indicador con 11 señales y veredicto
POST
/api/analysis/predict/
JWT
Predicción ML con Random Forest
POST
/api/analysis/patterns/
JWT
Detección de 12 patrones de velas japonesas
POST
/api/analysis/backtest/
JWT
Backtesting de 5 estrategias
GET
/api/analysis/strategies/
JWT
Lista de estrategias disponibles para backtest
Administración
Método
URL
Auth
Descripción
GET
/api/admin/users/
Admin
Listar usuarios
GET/PATCH/DELETE
/api/admin/users/<id>/
Admin
Gestión individual de usuario
POST
/api/admin/market/sync/
Admin
Sincronizar catálogo desde CoinGecko
Tests
# Dentro del contenedor Docker
docker compose exec backend pytest # Todos los tests
docker compose exec backend pytest -m unit # Solo unitarios (sin BD)
docker compose exec backend pytest -m integration # Solo integración
docker compose exec backend pytest --cov=core --cov-report=html # Con cobertura# O localmente con el entorno virtualcd backend && pytest
Cobertura actual: ~51 tests (unitarios de entidades, value objects, repositorios, servicios de dominio + integración de endpoints API).
Principios y patrones aplicados
Clean Architecture — separación estricta de 4 capas con regla de dependencia
SOLID — SRP (un caso de uso = una clase), OCP, DIP (repos abstractos)
Domain-Driven Design — entidades, value objects, repositorios, servicios de dominio
Repository Pattern — interfaces ABC en dominio, implementaciones Django en infraestructura
DTO Pattern — 23 dataclasses frozen=True como contrato entre capas
Strategy Pattern — cadena Binance → CoinGecko → error para datos OHLCV
Adapter Pattern — clientes de APIs externas encapsulan HTTP
Guard Pattern — ProtectedRoute + AdminRoute en React