How msant1972/stocks works
This is a financial-market research and trading application: users explore instruments, quotes, charts, strategies, alerts, and SAXO-linked orders through a browser UI. The frontend routes those workflows to a Fastify API, which handles sessions and domain endpoints; market-history collection and alert delivery also have Python engines. Shared strategy code is explicitly intended for both frontend and API use. The README is empty, so the product breadth comes from the route map and source tree; only sampled call relationships are connected, with unsampled capability links omitted.
Main entry points: app.js HTTP application · App.jsx Route and session UI · ChartsPage.jsx Instrument research · index.js Strategy registry
Components 28
Web client
- Route and session UI
frontend/src/app/App.jsx - HTTP client
frontend/src/lib/api.js - Instrument research
frontend/src/features/charts/ChartsPage.jsx - Watchlist
frontend/src/features/watchlist/WatchlistPage.jsx - Price charts
frontend/src/components/finance/DailyChart.jsx - Research pages
frontend/src/features/overview/OverviewPage.jsx
API and domain
- HTTP application
api/src/app.js - Authentication
api/src/routes/auth.js - Session store
api/src/auth/sessions.js - Instrument endpoints
api/src/routes/instruments.js - Market endpoints
api/src/routes/market.js - Strategy runs
api/src/services/strategy-worker.js - SAXO endpoints
api/src/routes/saxo.js - Trading service
api/src/saxo/service.js - Alert endpoints
api/src/routes/alerts.js
Market data engines
- Quote collection
engines/fetcher/fetcher/service.py - Quote provider
engines/fetcher/fetcher/provider.py - History database
engines/fetcher/fetcher/db.py
Trading and strategies
- Strategy registry
shared/strategies/index.js - Momentum indicators
shared/momentum.js - A-Momentum
shared/strategies/a-momentum.js - B-Opus
shared/strategies/b-opus.js
Alert delivery
- Alert engine
engines/alerts/alerts/service.py - Digest builder
engines/alerts/alerts/digest.py - Mail delivery
engines/alerts/alerts/mailer.py
Other components
- User
- SAXO Bank
- SMTP service
Connections 25
- User → Route and session UI: uses
- Route and session UI → Instrument research: routes to
frontend/src/app/App.jsx - Route and session UI → Watchlist: routes to
frontend/src/app/App.jsx - Route and session UI → Research pages: routes to
frontend/src/app/App.jsx - Instrument research → Price charts: renders
frontend/src/features/charts/ChartsPage.jsx - Instrument research → HTTP client: requests data
frontend/src/features/charts/ChartsPage.jsx - Watchlist → HTTP client: requests data
frontend/src/features/watchlist/WatchlistPage.jsx - HTTP client → HTTP application: HTTP requests
frontend/src/lib/api.js - HTTP application → Authentication: registers
api/src/app.js - HTTP application → Instrument endpoints: registers
api/src/app.js - HTTP application → Market endpoints: registers
api/src/app.js - HTTP application → Alert endpoints: registers
api/src/app.js - HTTP application → SAXO endpoints: registers
api/src/app.js - Authentication → Session store: creates sessions
api/src/routes/auth.js - Strategy runs → Strategy registry: runs strategy
api/src/services/strategy-worker.js - Strategy registry → A-Momentum: dispatches
shared/strategies/index.js - Strategy registry → B-Opus: dispatches
shared/strategies/index.js - B-Opus → Momentum indicators: uses indicators
shared/strategies/b-opus.js - SAXO endpoints → Trading service: handles trading
- Trading service → SAXO Bank: places orders
- Quote collection → Quote provider: fetches history
engines/fetcher/fetcher/service.py - Quote collection → History database: stores quotes
engines/fetcher/fetcher/service.py - Alert engine → Digest builder: builds digests
engines/alerts/alerts/service.py - Alert engine → Mail delivery: sends mail
engines/alerts/alerts/service.py - Mail delivery → SMTP service: delivers via SMTP