screen-capture_compressed.mp4
Full-stack mutual fund screening application with:
backend: FastAPI service (screening, analytics, user state, pipeline trigger)frontend: React + Vite web app
Mutual-Fund-Screener/
backend/
frontend/
LICENSE
- Frontend runs on
http://localhost:4000 - Backend runs on
http://127.0.0.1:8000 - Frontend calls backend using
VITE_API_BASE_URL - Backend allows CORS for
http://localhost:4000
Open 2 terminals.
cd backend
python -m venv .venvActivate venv:
- Windows (PowerShell)
.\.venv\Scripts\Activate.ps1- macOS/Linux
source .venv/bin/activateInstall and run:
pip install -r requirements.txt
alembic upgrade head
python -m uvicorn app.main:app --reload --host 127.0.0.1 --port 8000cd frontend
npm install
npm run devOpen http://localhost:4000.
DATABASE_URL="postgresql+psycopg2://<user>:<password>@<host>:5432/<db>?sslmode=require"
PIPELINE_TRIGGER_API_KEY="<your-long-random-api-key>"VITE_FIREBASE_API_KEY="<firebase-api-key>"
VITE_FIREBASE_AUTH_DOMAIN="<project>.firebaseapp.com"
VITE_FIREBASE_PROJECT_ID="<project-id>"
VITE_FIREBASE_STORAGE_BUCKET="<project>.firebasestorage.app"
VITE_FIREBASE_MESSAGING_SENDER_ID="<sender-id>"
VITE_FIREBASE_APP_ID="<app-id>"
VITE_FIREBASE_MEASUREMENT_ID="<measurement-id>"
VITE_API_BASE_URL="http://127.0.0.1:8000"- Backend details: backend/README.md
- Frontend details: frontend/README.md
- Frontend:
http://localhost:4000 - Backend health:
http://127.0.0.1:8000/health - Backend Swagger:
http://127.0.0.1:8000/docs
CORS error: confirm frontend is running onhttp://localhost:4000.401 on /pipeline/trigger: pass validAPI_KEYheader.Frontend cannot call backend: verifyVITE_API_BASE_URLand that backend is running on port8000.