An interactive data visualization / dashboard.
- Interactive stock price chart with historical data visualization, market recommendations and stock analysis tools.
- Integration with Material-UI for a cohesive layout and responsive design.
- Real-time stock data fetching using yfinance.
- Backend developed with FastAPI for high-performance data delivery.
- Frontend performance optimization using the useMemo hook in React.
- Backend response time optimization with Redis caching.
- Integrate LSTM stock price prediction model to provide forecasted market trends.
- Add live functionality during trading hours:
- Establish WebSocket connection for live data streaming.
- Implement frontend components to display live data.
- Integrate backend services to support live data handling and caching.
- Design and handle failover and reconnection strategies for live streaming.
- Generalize dashboard to work with any uploaded CSV file:
- Implement CSV file parsing and validation.
- Enable dynamic generation of charts based on CSV data structure.
- Allow users to map CSV columns to chart parameters.
Before you begin, ensure you have the following installed:
- Python
- FastAPI
- Node.js
- npm (usually comes with Node.js)
- Redis
-
Navigate to the server directory:
cd server
-
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
-
Install the required Python packages:
Using pip:
pip install -r requirements.txt
Or using conda:
conda create --name visualboard --file requirements.txt conda activate visualboard
-
Start Redis server:
redis-server
-
Start the FastAPI server:
uvicorn main:app --reload
The backend server should now be running on http://localhost:8000
.
-
Navigate to the frontend directory:
cd visual-board
-
Install dependencies:
npm install
-
Start the Vite development server:
npm run dev
The frontend application should now be accessible at http://localhost:5173
.