Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

scani-oss

Scani es un tracker de portafolio open-source autocontenido para cripto y activos tradicionales, con código en TypeScript. Soporta despliegue local, semi-gestionado o totalmente gestionado.

Ficha actualizada 23 sept 2026, 2:57 · upstream 23 sept 2026, 2:34 · release v0.46.0

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es scani-oss

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Scani es una herramienta de seguimiento de portafolio que permite a los usuarios gestionar sus activos en múltiples plataformas (exchanges, wallets, brokerages) desde un único lugar. El proyecto está construido con TypeScript y se ejecuta mediante Docker Compose, utilizando PostgreSQL como base de datos principal, Redis para caché y almacenamiento S3-compatible para el historial de transacciones.

La arquitectura del proyecto es modular y escalable, con una capa frontend (Next.js), un backend API (Node.js/Express) y un worker dedicado a la lógica de negocio. El sistema soporta múltiples cadenas blockchain mediante conectores personalizados, mientras que las llamadas a APIs externas como CoinGecko o OpenAI se ejecutan localmente en cada instancia del stack.

El modelo de despliegue ofrece tres niveles: autocontenido (self-hosted), semi-gestionado (con proveedor externo para almacenamiento y email) y totalmente gestionado. Todas las instancias comparten el mismo código fuente, lo que facilita la actualización y mantenimiento sin necesidad de migraciones complejas entre entornos.

El sistema utiliza autenticación basada en mejor autenticación (Bcrypt), JWTs con roles diferenciados y un esquema de seguridad robusto para proteger datos sensibles como claves API privadas. El historial de transacciones se almacena localmente en el disco del contenedor, lo que garantiza la privacidad de los datos sin necesidad de conexión a una base de datos externa.

Además, Scani incluye funcionalidades avanzadas como análisis de sentimiento mediante IA (usando OpenAI), generación de reportes automáticos y exportación de datos a formatos JSON o CSV. El proyecto también soporta integración con servicios externos como Binance, Coinbase, Kraken y otras plataformas financieras a través de OAuth.

CASOS DE USO
  • Seguimiento de cartera de criptomonedas en múltiples exchanges (Binance, Coinbase, Kraken) con sincronización automática
  • Monitoreo de activos tradicionales (acciones, ETFs, bonos) mediante conectores API y datos históricos
  • Análisis de rendimiento del portafolio con cálculo de P/L, valor total y distribución por cadena blockchain
  • Generación de reportes automáticos mensuales con exportación a PDF o CSV para auditoría personal
  • Gestión de billeteras descentralizadas (wallets) con sincronización entre exchanges y wallets personales
  • Monitoreo en tiempo real de precios de activos globales mediante integración con APIs de pricing (CoinGecko, Finnhub)
  • Análisis predictivo básico mediante IA para identificar oportunidades de inversión o tendencias de mercado
PUNTOS DESTACADOS
  • Código único compartido entre frontend, API y worker, facilitando actualizaciones sin romper funcionalidades existentes
  • Modelo de despliegue escalable que permite elegir entre autocontenido, semi-gestionado o totalmente gestionado según necesidades
  • Autenticación segura con mejor autenticación (Bcrypt) y JWTs con roles diferenciados para proteger datos sensibles
  • Historial de transacciones almacenado localmente en disco del contenedor, garantizando privacidad sin conexión a base de datos externa
  • Soporte nativo para múltiples cadenas blockchain mediante conectores personalizados (Ethereum, Solana, BNB Chain)
  • Integración con IA generativa para análisis de sentimiento y generación automática de reportes
PRECAUCIONES
  • El historial de transacciones se almacena localmente en el disco del contenedor, lo que limita la escalabilidad horizontal y no permite consultas globales sin copias de seguridad
  • Depende de APIs externas (CoinGecko, Finnhub) para precios de activos, lo que introduce latencia y posibles puntos únicos de fallo si las APIs se caen
  • La autenticación con mejor autenticación requiere configuración manual del hash en `.env` y no es auto-generada por el sistema
  • El almacenamiento S3-compatible debe configurarse manualmente (MinIO, R2, etc.) sin soporte nativo de la plataforma
  • No incluye gestión de claves API privadas por defecto; se requieren credenciales manuales para cada proveedor externo
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA4 GBRAM estimada
DISCO30 GBalmacenamiento base
COMPLEJIDADhighnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker Compose detectado

Para desplegar Scani en producción: 1) Configurar `.env` con variables obligatorias (DATABASE_URL, REDIS_URL, ENCRYPTION_KEY, SCANI_CLOUD_API_KEY). 2) Ejecutar `docker compose -f docker-compose.prod.yml up -d` para iniciar el stack. 3) Aplicar migraciones de esquema en cada despliegue: `docker compose --profile migrate run --rm migrate`. 4) Configurar un proxy TLS (nginx, Traefik o similar) como reverse proxy público. 5) Incluir credenciales de integración (Binance OAuth, OpenAI API key) en `.env` y generarlas con cuidado. 6) Monitorear logs del worker para detectar errores de autenticación de proveedores. 7) Implementar un sistema de backups diarios en el volumen de disco del contenedor. 8) Usar `SCANI_IMAGE_TAG=1.2.3` en `.env` para reproducibilidad. 9) Para la versión semi-gestionada, configurar `SCANI_CLOUD_URL` y `SCANI_CLOUD_API_KEY`. 10) Implementar alertas de salud del backend me

✓Dockerfile
✓Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsReactNode.js
SERVICIOS
PostgreSQLRedisS3/MinIO
BASES DE DATOS
PostgreSQLRedis
PUERTOS
5173808254336380300180261026900030119001
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.