Algorithmic trading and stock analysis platform powered by AI.
Navigate to the backend folder, set up your Python virtual environment and run the Flask server:
# In the backend directory
.\.venv\Scripts\python.exe wsgi.pyNavigate to the frontend directory, install packages, and start the development server:
# In the frontend directory
npm install --legacy-peer-deps
npm run devThe Market News warning cards and the news-driven stock predictions come from a three-stage Docker pipeline: news-streamer fetches articles, warning-streamer turns them into warnings, and prediction-streamer turns warnings into stock predictions. Redpanda carries messages between stages and MongoDB stores the results. With Docker Desktop running and your API keys in backend/.env:
docker compose --profile docker-news -f docker-compose.news.yml up --build -dSee docs/news-pipeline.md for setup, logs, one-off runs, clearing old data, rebuilding, and stopping.
Frontend, from the project root:
node --test frontend/tests/*.test.mjs
npm --prefix frontend run build
npm --prefix frontend run lintLint has pre-existing errors, so treat it as informational and avoid adding new ones in files you change.
Backend, from backend/, with the virtual environment's Python (.venv\Scripts\python.exe on Windows):
.venv/bin/python -m unittest discover -s testsThe tests run offline: they mock NewsData, NVIDIA, Redpanda and MongoDB.
.ai-workflow/ runs a local Claude plan → Codex code → Claude review pipeline in an isolated Git worktree. Use --bug for bug fixes: Codex first reproduces the bug with a failing test and reviews the code to find the root cause, then Claude plans the fix. See .ai-workflow/SETUP.md.
python3 .ai-workflow/pipeline.py "Feature task with acceptance criteria"
python3 .ai-workflow/pipeline.py --bug "What happened, what you expected, and any error text"