Investment trading learning app
Go to file
root e2008f70b9 fix: web + mobile pre-beta audit — real APIs, socket routing, empty states
Web:
- runtime.ts: use import.meta.env (process.env is undefined in Vite browser bundle)
- tradingApiUrl local fallback: drop /api suffix (API libs already append /api/*)
- useWebSocket: deriveSocketParams() — correctly splits origin + socket path for
  Caddy handle_path /invttrdg/* proxy (io(origin, {path}), not io(url-with-path))
- App.tsx: pass socket prop to AdminTab; pass connected prop to SignalsTab
- AdminTab: remove duplicate useWebSocket; accept socket as prop
- SignalsTab: connection-aware empty state message
- backtest/flags: default to disabled when VITE_BACKTEST_ENABLED unset
- EntryForm: NaN guard before live trade execution
- MarketplaceTab: null-safety on symbols.rules access
- Tests: pass socket prop to AdminTab; update empty state assertion

Mobile:
- TradingDataProvider: same deriveSocketParams fix — EXPO_PUBLIC_SOCKET_PATH
  overrides auto-derived path from tradingApiUrl
- strategies: replace mock data with real GET /api/profiles + PATCH active toggle
- chat: wire to real POST /api/chat; remove hardcoded mock reply
- marketplace: fetch GET /api/marketplace-presets; USE STRATEGY calls POST /api/profiles
- settings: sign-out confirmation dialog; execution mode read-only hint;
  version from expo-constants instead of hardcoded v2.3
- positions/history: empty state UI when no data
- CustomTabBar: always show tab labels (not only when focused)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 04:50:51 +00:00
backend chore(deploy): Node 20, port 4025, registry deps, platform network 2026-04-13 17:23:49 +00:00
docs docs(azure): mark KV wiring and AzureOpenAI items complete in audit log 2026-04-05 18:29:13 -07:00
mobile fix: web + mobile pre-beta audit — real APIs, socket routing, empty states 2026-04-14 04:50:51 +00:00
scripts test: add release smoke coverage and runbook 2026-04-04 17:07:48 -07:00
shared refactor: share feature flag contract across backend and web 2026-04-04 18:10:34 -07:00
web fix: web + mobile pre-beta audit — real APIs, socket routing, empty states 2026-04-14 04:50:51 +00:00
.env.example feat: make backend Docker-ready and web Vercel-ready 2026-04-05 19:05:35 -07:00
.gitignore feat: scaffold trading monorepo foundation 2026-04-04 11:18:21 -07:00
.npmrc feat: make backend Docker-ready and web Vercel-ready 2026-04-05 19:05:35 -07:00
docker-compose.yml feat(web): Dockerize web app, wire to deployed backend 2026-04-13 17:48:17 +00:00
package.json feat: make backend Docker-ready and web Vercel-ready 2026-04-05 19:05:35 -07:00
pnpm-lock.yaml chore(deploy): Node 20, port 4025, registry deps, platform network 2026-04-13 17:23:49 +00:00
pnpm-workspace.yaml feat: scaffold trading monorepo foundation 2026-04-04 11:18:21 -07:00
README.md docs: add operations runbook and refresh roadmap status 2026-04-04 14:36:41 -07:00
tsconfig.base.json feat: scaffold trading monorepo foundation 2026-04-04 11:18:21 -07:00
vercel.json feat: make backend Docker-ready and web Vercel-ready 2026-04-05 19:05:35 -07:00

ByteLyst Investment Trading

Canonical monorepo for the ByteLyst trading product.

Workspaces

  • backend/ — trading backend and execution/runtime APIs
  • web/ — trading dashboard
  • mobile/ — Expo mobile app
  • shared/ — canonical product identity and shared runtime helpers

Shared dependencies

This repo consumes local ByteLyst common-platform packages from:

  • ../learning_ai_common_plat/packages/*

Core principles

  • backend-authoritative trading state
  • platform-service for auth, kill switch, telemetry, and flags
  • no duplicated bootstrap logic across surfaces
  • domain-specific trading logic stays product-owned

Common commands

pnpm install
pnpm verify
pnpm lint
pnpm build

Operations

  • product and scope: docs/PRD.md
  • execution tracker: docs/ROADMAP.md
  • local dev, cutover, rollback, and release checks: docs/OPERATIONS.md