Saltar a contenido

Guia de onboarding#

1. Preparar entorno#

git clone https://github.com/<owner>/SignalDashPro.git
cd SignalDashPro
py -3.13 -m venv .venv
.venv\Scripts\activate               # PowerShell
pip install -r backend/requirements.txt

Instala PostgreSQL 15 (signaldashpro en localhost:5433, usuario postgres, password configurada por ti).
Para el futuro frontend web, instala Node.js LTS (Next.js) segun el plan maestro.

2. Variables de entorno (ejemplo .env)#

DATABASE_URL=postgresql+psycopg2://postgres:POSTGRES_PASSWORD@localhost:5433/signaldashpro
AUTH_ENABLED=true
AUTH_JWT_SECRET=CHANGE_ME
AUTH_BOOTSTRAP_EMAIL=admin@example.com
AUTH_BOOTSTRAP_PASSWORD=CHANGE_ME
BINANCE_API_KEY=CHANGE_ME
BINANCE_API_SECRET=CHANGE_ME
BINANCE_BASE_URL=https://api.binance.com   # spot live
# Spot demo mode (Demo Trading UI): BINANCE_BASE_URL=https://demo-api.binance.com
# Nota: Binance docs suelen mostrar `.../api` al final; en este proyecto se puede omitir.
# Crear API Demo en: https://demo.binance.com/en/my/settings/api-management
# Referencia Spot Demo: https://developers.binance.com/docs/binance-spot-api-docs/demo-mode/general-info
NEWSAPI_KEY=todo
PRIXE_API_KEY=todo
MACRO_PROVIDER=tradingeconomics
TRADINGECONOMICS_API_KEY=todo
FMP_API_KEY=todo
OPENAI_API_KEY=todo
MARKET_SYNC_AUTO_RUN=true
MARKET_SYNC_INTERVAL_MINUTES=15
MARKET_SYNC_SYMBOLS=BTCUSDT,ETHUSDT

Carga el archivo con set -a && source .env (Linux/macOS) o . .\setenv.ps1 en Windows.

Buenas practicas de llaves API: - Registrar en docs solo endpoint, fecha, entorno y nombre de key (ej. SDP1). - No registrar API keys ni secret keys en markdown/versionado. - Guardar secretos exclusivamente en archivos de entorno no versionados.

Verificacion rapida recomendada (Binance Demo):

chmod +x scripts/check_binance_demo_auth.sh
scripts/check_binance_demo_auth.sh \
  --base-url=https://sdp.perlatec.net/api/proxy \
  --email=admin@sdp.perlatec.net \
  --password='***'

Debe terminar con SMOKE_OK.

3. Correr servicios#

Backend:

cd backend
uvicorn backend.main:app --reload --port 8096

Frontend web (Next.js/React, plan maestro):

  • El frontend oficial se migrara a Next.js + React + TradingView en frontend/.
  • Una vez inicializado el proyecto, el flujo esperado sera:
cd frontend
npm install
npm run dev

4. Jobs locales#

Ejecuta manualmente para validar:

python scripts/import_market_news.py --symbols EURUSD XAUUSD --brainstorm
python scripts/run_data_pipeline.py --symbols EURUSD XAUUSD
python scripts/notify_external_alerts.py --backend-url http://127.0.0.1:8096 --dry-run

5. Herramientas recomendadas#

  • IDE: VS Code + extensiones Python, REST Client y soporte para TypeScript/React.
  • Linters: ruff (Python) y ESLint/Prettier para el frontend.
  • DB: DBeaver o psql para inspeccionar PostgreSQL.

Completar la seccion Preguntas abiertas en docs/README.md durante el onboarding para evitar incertidumbres operativas.