MarketViewerPro
A stock-analysis dashboard MVP that pulls price history, computes indicators, and surfaces news sentiment in one clean UI. Built to practice end-to-end data → API → frontend workflows. (Research/paper-trading only.)
FastAPIReactViteRechartsyfinanceRSS + sentimentDocker compose
What it does
Pulls OHLCV price history, calculates SMA/EMA/RSI, generates a simple next-day direction signal (with a conservative fallback), and shows RSS news with VADER sentiment.
Why I built it
I wanted a “single pane of glass” to learn market-data plumbing, API design, and dashboard UI work in one project—and iterate from a working MVP.
Architecture (high level)
- Backend: FastAPI endpoints for health/metrics, prices + indicators, predictions, and news.
- Frontend: React/Vite UI that calls the API and renders charts (Recharts) + tables.
- Resilience: basic caching and safe fallbacks when upstream data is missing or slow.
What I built
- Defined the MVP scope and wired the data flow: ticker → API fetch → indicators → charts.
- Implemented the UI experience (search, chart + signal view, news feed + filters).
- Set up a repeatable local run path (README steps + Docker Compose option).
How to run it (local)
- Clone the repo and open two terminals.
- Backend:
cd backend→ create/activate venv →pip install -r requirements.txt→uvicorn app.main:app --reload - Frontend:
cd frontend→npm install→npm run dev
Note: Research/paper-trading only — not financial advice. Signals are experimental.
Next steps (if I took it to v2)
- Add tests for indicator math + endpoint contracts.
- Improve data-provider reliability (retries/backoff, clearer stale-data handling).
- Add auth + rate limiting if deployed publicly.