Track your investments, analyze performance, and make data-driven decisions with our powerful financial dashboard.
StockVision is a modern, interactive dashboard for investors and traders. It provides a comprehensive view of your portfolio, real-time market data, and insightful analytics to help you make smarter financial decisions.
- Portfolio Overview: Visualize your holdings and performance at a glance.
- Market Data Center: Access up-to-date market data and trends.
- Performance Analytics: Analyze your portfolio's growth and risk.
- Recent Activity: Track your latest transactions and changes.
- Customizable Dashboard: Modular components for a personalized experience.
- Framework: Next.js 15 (Monorepo)
- Language: TypeScript
- State Management: React Context API
- UI: Radix UI, Shadcn UI
- Styling: Tailwind CSS
- Deployment: Vercel
- Framework: FastAPI (Python)
- Features: REST API, CORS, Pydantic validation, auto docs, market/stock endpoints
- Dev Tools: Uvicorn, Black, isort, flake8, pytest
For a detailed explanation of the backend structure, API endpoints, and integration, see Backend.md.
StockVision/
βββ frontend/ # Next.js Frontend Application
β βββ app/ # Next.js App Router
β βββ public/ # Static assets
β βββ package.json # Frontend dependencies
β βββ ... # Frontend config files
βββ backend/ # FastAPI Backend Application
β βββ app/ # FastAPI application code
β β βββ models.py # Pydantic models
β β βββ routers/ # API route handlers
β βββ main.py # FastAPI entry point
β βββ requirements.txt # Python dependencies
β βββ ... # Backend config files
βββ package.json # Root monorepo configuration
βββ Backend.md # **Backend details and API documentation**
βββ README.md # This file
- Node.js 18+ and npm 9+
- Python 3.8+ and pip
- Git
- Clone the repository
git clone https://github.com/MIHIR2006/StockVision.git cd StockVision - Install all dependencies
npm install # (installs both frontend and backend dependencies) - Set up backend environment variables
cd backend cp env.example .env # Edit .env with your configuration cd ..
- Run the development servers
# Start both frontend and backend together npm run dev # Or run individually: npm run dev:frontend # Frontend only (http://localhost:3000) npm run dev:backend # Backend only (http://127.0.0.1:8000)
- Frontend: Open http://localhost:3000
- Backend: Open http://localhost:8000/docs for API docs
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
- API ReDoc: http://localhost:8000/redoc
- Health Check: http://localhost:8000/health
npm run dev # Start both frontend and backend
npm run dev:frontend # Start frontend only
npm run dev:backend # Start backend only
npm run build # Build both applications
npm run build:frontend # Build frontend only
npm run build:backend # Build backend only
npm run start # Start both in production mode
npm run lint # Lint all workspaces
npm run install:all # Install all dependenciescd frontend
npm run dev # Start Next.js dev server
npm run build # Build for production
npm run start # Start production server
npm run lint # Lint TypeScript/ESLintcd backend
npm run dev # Start FastAPI dev server
npm run start # Start production server
npm run test # Run tests
npm run lint # Format and lint codeSee Backend.md for full details, but here are the essentials:
GET /api/stocks- All stocksGET /api/stocks/{symbol}- Specific stockPOST /api/stocks/search- Search stocksGET /api/stocks/{symbol}/price- Stock price only
GET /api/market/summary- Market summaryGET /api/market/trends- Market trendsGET /api/market/sectors- Sector performanceGET /api/market/indicators- Market indicatorsGET /api/market/volume- Volume data
GET /- RootGET /health- Health checkGET /docs- Swagger UIGET /redoc- ReDoc
API_HOST=0.0.0.0
API_PORT=8000
DEBUG=True
ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001The frontend uses Next.js environment variables. Create .env.local in the frontend directory if needed.
- Real-time stock data integration
- User authentication and portfolios
- Advanced charting features
- Mobile app development
- Machine learning predictions
- Social trading features
Contributions, issues, and feature requests are welcome!
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project uses Turborepo for monorepo management and build optimization.
- Dev:
npm run dev(runs both frontend and backend) - Build:
npm run build - Start:
npm run start
- Frontend: Deploy the
frontenddirectory to Vercel (set root tofrontendin Vercel dashboard). - Backend: Deploy the
backenddirectory to a Python-friendly host (Render, Railway, Fly.io, etc). - API URL: Set
NEXT_PUBLIC_API_URLin Vercel to your backendβs public URL.
See Backend.md for backend deployment and API details.
This monorepo uses Turborepo for fast, cacheable builds and development.

