https://github.com/thund3rhawk/marketflow
MarketFlow is a real-time trade price dashboard.
https://github.com/thund3rhawk/marketflow
express finnhub-stock-api fluvio nodejs reactjs typescript websocket-server
Last synced: 3 months ago
JSON representation
MarketFlow is a real-time trade price dashboard.
- Host: GitHub
- URL: https://github.com/thund3rhawk/marketflow
- Owner: Thund3rHawk
- Created: 2024-08-18T17:32:55.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-09-27T08:55:12.000Z (8 months ago)
- Last Synced: 2025-01-13T09:45:59.202Z (5 months ago)
- Topics: express, finnhub-stock-api, fluvio, nodejs, reactjs, typescript, websocket-server
- Language: TypeScript
- Homepage:
- Size: 10.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MarketFlow
**MarketFlow** is a real-time trade price dashboard that visualizes stock trade prices using a React frontend, Node.js backend with Express, WebSocket integration with Finnhub API, and Fluvio for data streaming.
## Demo Video
https://github.com/user-attachments/assets/e16a1462-0b7e-4331-89ac-4a5751f537cb
## Project Structure
- `client/` - Contains the React frontend application.
- `server/` - Contains the Node.js backend application.
- `deploy.sh` - Script to set up Fluvio locally with the topic `message`.## Features
- Real-time stock trade price updates.
- Interactive dashboard for monitoring stock prices.
- Utilizes Fluvio for scalable and efficient data streaming.
- WebSocket integration with Finnhub API for real-time trade data.## Prerequisites
- [Node.js](https://nodejs.org/) (v14 or later)
- [Yarn](https://classic.yarnpkg.com/) (for package management)
- [Fluvio](https://fluvio.io/) (for data streaming)
- [Finnhub API](https://finnhub.io/) account for WebSocket API## Project Setup
### 1. Clone the Repository
```bash
git clone https://github.com/Thund3rHawk/MarketFlow.git
cd MarketFlow
```### 2. Install Dependencies
#### For the Backend (Server)
Navigate to the `server` directory and install dependencies using Yarn:
```bash
cd server
yarn install
```#### For the Frontend (Client)
Navigate to the `client` directory and install dependencies using Yarn:
```bash
cd ../client
yarn install
```### 3. Set Up Fluvio
Make sure Fluvio is installed and running locally. Use the provided `deploy.sh` script to set up Fluvio with the required topic:
```bash
cd ..
chmod +x deploy.sh
./deploy.sh
```### 4. Configure Finnhub API
You need to configure the Finnhub API key in your backend environment. Create a `.env` file in the `server` directory with the following content:
```
PORT = 8080
FINNHUB_API_KEY=your_finnhub_api_key
```Replace `your_finnhub_api_key` with your actual API key from Finnhub.
### 5. Start the Applications
#### Start the Backend Server
Navigate to the `server` directory and start the server:
```bash
cd server
yarn dev
```#### Start the Frontend Client
Navigate to the `client` directory and start the client:
```bash
cd ../client
yarn dev
```### 6. Access the Dashboard
Open your web browser and go to `http://localhost:5173` to access the real-time trade price dashboard.
---