A real-time stock market dashboard built with React, Node.js, and the Finnhub API. This application provides comprehensive stock market data, technical analysis, and portfolio management features.
Before you begin, ensure you have the following:
Clone the repository:
git clone https://github.com/yourusername/stock-market-dashboard.git
cd stock-market-dashboard or cd metrics
Install dependencies for both frontend and backend:
# Install backend dependencies
cd metrics/backend
npm install
# Install frontend dependencies
cd ../
npm install
Set up environment variables:
Backend (.env in metrics/backend):
FINNHUB_API_KEY=your_finnhub_api_key
PORT=5001
Frontend (.env in metrics/):
VITE_API_URL=http://localhost:5001/api
VITE_FINNHUB_API_KEY=your_finnhub_api_key
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
VITE_FIREBASE_PROJECT_ID=your_firebase_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
VITE_FIREBASE_APP_ID=your_firebase_app_id
VITE_FIREBASE_MEASUREMENT_ID=your_firebase_measurement_id
Start the backend server:
cd metrics/backend
npm run start or node server.js
Start the frontend development server:
cd metrics
npm run dev
Access the application:
GET /api/quote/:symbol
- Get real-time stock quoteGET /api/historical/:symbol
- Get historical price dataGET /api/fundamentals/:symbol
- Get company fundamentalsGET /api/market-news
- Get latest market newsGET /api/technical-indicators/:symbol
- Get technical indicatorsGET /api/watchlist
- Get user's watchlistPOST /api/watchlist
- Add stock to watchlistDELETE /api/watchlist/:symbol
- Remove stock from watchlistGET /api/market-sentiment
- Get market sentiment analysisGET /api/market-movers
- Get top market moversPOST /api/compare
- Compare multiple stocksgit checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)This project is licensed under the MIT License - see the LICENSE file for details.
For support, email rialparmar007@gmail.com or open an issue in the repository.