A simple full-stack app:
- Backend: FastAPI (Python) – stocks/FX/crypto + news sentiment + JSON/PDF reports
- Frontend: Next.js + Tailwind – glassy dashboard UI with a chart + sentiment bar
├── backend/
│ ├── app/ # FastAPI application
│ ├── data/ # Runtime data (gitignored)
│ ├── ve/ # Python virtual environment (gitignored)
│ ├── requirements.txt
│ └── Dockerfile
├── frontend/
│ ├── app/ # Next.js app directory
│ ├── node_modules/ # Dependencies (gitignored)
│ ├── .next/ # Build output (gitignored)
│ └── Dockerfile
├── start.sh # Unix startup script
├── start.cmd # Windows startup script
└── docker-compose.yml
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.envPut your Alpha Vantage key in backend/.env:
ALPHAVANTAGE_API_KEY=YOUR_KEYdocker compose up --buildPrerequisites:
- Python 3.x with a virtual environment at
backend/ve/ - Node.js with dependencies installed in
frontend/
Setup (first time):
# Backend
cd backend
python -m venv ve
ve\Scripts\activate # Windows
source ve/bin/activate # Unix
pip install -r requirements.txt
# Frontend
cd ../frontend
npm installStart servers:
# Windows
start.cmd
# Unix/macOS
./start.shThis launches both backend (uvicorn) and frontend (Next.js dev server) concurrently.
Open:
- Frontend: http://localhost:3000
- Backend docs: http://localhost:8000/docs
| Endpoint | Description |
|---|---|
GET /market/quote?symbol=AAPL |
Real-time quote |
GET /market/stocks/daily?symbol=AAPL |
Daily stock data |
GET /market/fx/daily?from_symbol=EUR&to_symbol=USD |
Daily FX rates |
GET /market/crypto/daily?symbol=BTC&market=USD |
Daily crypto data |
GET /news/sentiment?tickers=AAPL&limit=50 |
News sentiment |
GET /report/asset?kind=stock&symbol=AAPL&as_pdf=true |
JSON/PDF report |
This tool summarizes data and sentiment and is not investment advice.