The Stock Market Dashboard is a web application that provides real-time and historical stock market data visualization. It features a candlestick chart for the S&P 500 index and displays current values for S&P 500, NASDAQ, and Dow Jones indices.
- Real-time stock market data for S&P 500, NASDAQ, and Dow Jones
- 5-minute interval candlestick chart for S&P 500
- Responsive design with a dark theme for easy viewing
- Robust error handling for API and data availability issues
- Frontend: React.js, Plotly.js
- Backend: Flask (Python)
- Data Source: yfinance API
- Node.js (v14 or later)
- Python (v3.7 or later)
- pip (Python package manager)
- Git
-
Clone the repository:
git clone https://github.com/marketcalls/stock-market-dashboard
-
Navigate to the project directory:
cd stock-market-dashboard
-
Navigate to the backend directory:
cd backend
-
Create a virtual environment:
python -m venv venv
-
Activate the virtual environment:
- On Windows:
venv\Scripts\activate
- On macOS and Linux:
source venv/bin/activate
- On Windows:
-
Install the required Python packages:
pip install flask yfinance pytz
-
Start the Flask server:
python app.py
-
Open a new terminal window and navigate to the frontend directory:
cd ../frontend
-
Install the required npm packages:
npm install
-
Start the React development server:
npm start
After starting both the backend and frontend servers, open your web browser and go to http://localhost:3000
to view the Stock Market Dashboard.
The dashboard will automatically update every 5 minutes with the latest data. The candlestick chart shows the S&P 500 index performance for the last trading day, with each candle representing a 5-minute interval.
[The rest of the README content remains the same...]
stock-market-dashboard/
│
├── frontend/
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ │ └── StockMarketDashboard.js
│ │ ├── App.js
│ │ └── index.js
│ ├── package.json
│ └── README.md
│
├── backend/
│ ├── app.py
│ ├── requirements.txt
│ └── README.md
│
└── README.md
- Implement data caching to reduce API calls
- Add user customization options (e.g., selecting different indices or time frames)
- Integrate additional technical indicators
- Implement real-time updates using WebSocket
- Add authentication for personalized features
- Optimize performance and implement comprehensive error handling
Contributions to improve the Stock Market Dashboard are welcome. Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.
- Data provided by Yahoo Finance through the yfinance API
- Created using Create React App and Flask