{"id":27116965,"url":"https://github.com/rialparmar1777/metrics-dashboard","last_synced_at":"2026-04-30T22:35:40.827Z","repository":{"id":286549615,"uuid":"945132745","full_name":"rialparmar1777/metrics-dashboard","owner":"rialparmar1777","description":"Metrics-Dashboard - A FullStack analytics dashboard that shows historical performance of tech stocks. Tech Stack: Vite+React, Axios, Chart.js, RestFull APIs, Tailwind CSS. Backend: Firebase, FireStore Database and Authentication.","archived":false,"fork":false,"pushed_at":"2025-03-21T02:04:57.000Z","size":470,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-30T03:05:27.090Z","etag":null,"topics":["axios-restful","chart-js","cors","finnhub-stock-api","firebase-authentication","node-cache","nodejs","rate-limiting","react","tailwindcss","vite-react","websocket","websocket-server"],"latest_commit_sha":null,"homepage":"https://stocks-dashboard01.vercel.app/login","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rialparmar1777.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-08T18:24:45.000Z","updated_at":"2025-03-21T02:05:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"14047ddb-7709-46c6-9788-f5c85273469e","html_url":"https://github.com/rialparmar1777/metrics-dashboard","commit_stats":null,"previous_names":["rialparmar1777/metrics-dashboard"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rialparmar1777/metrics-dashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rialparmar1777%2Fmetrics-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rialparmar1777%2Fmetrics-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rialparmar1777%2Fmetrics-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rialparmar1777%2Fmetrics-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rialparmar1777","download_url":"https://codeload.github.com/rialparmar1777/metrics-dashboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rialparmar1777%2Fmetrics-dashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32479448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axios-restful","chart-js","cors","finnhub-stock-api","firebase-authentication","node-cache","nodejs","rate-limiting","react","tailwindcss","vite-react","websocket","websocket-server"],"created_at":"2025-04-07T05:53:25.130Z","updated_at":"2026-04-30T22:35:35.818Z","avatar_url":"https://github.com/rialparmar1777.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stock Market Dashboard\n\nA 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.\n\nDashboard Preview\n![stock1](https://github.com/user-attachments/assets/08378fee-900c-4977-bfa8-f875e77ee7a9)\n\n## Features\n\n- 📈 Real-time stock price updates via WebSocket\n- 📊 Interactive stock price charts with multiple timeframes\n- 📱 Responsive design for desktop and mobile devices\n- 📰 Latest market news and sentiment analysis\n- 📋 Personal watchlist management\n- 📉 Technical indicators (RSI, MACD, SMA, EMA)\n- 💹 Stock comparison tools\n- 📊 Company fundamentals and metrics\n- 🔍 Stock symbol search functionality\n- ⚡ Real-time market data updates\n- 🔔 Price alerts system\n- 📈 Historical price data analysis\n\n## Tech Stack\n\n### Frontend\n- React with Vite\n- TailwindCSS for styling\n- Chart.js for data visualization\n- Firebase Authentication\n- Axios for API requests\n- WebSocket for real-time updates\n\n### Backend\n- Node.js \u0026 Express\n- WebSocket Server\n- Finnhub API integration\n- Node-Cache for data caching\n- Rate limiting\n- CORS configuration\n\n## Prerequisites\n\nBefore you begin, ensure you have the following:\n- Node.js (v14 or higher)\n- npm or yarn\n- A Finnhub API key (get one at [Finnhub.io](https://finnhub.io))\n- A Firebase project (for authentication)\n\n## Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/yourusername/stock-market-dashboard.git\n   cd stock-market-dashboard or cd metrics\n   ```\n\n2. Install dependencies for both frontend and backend:\n   ```bash\n   # Install backend dependencies\n   cd metrics/backend\n   npm install\n\n   # Install frontend dependencies\n   cd ../\n   npm install\n   ```\n\n3. Set up environment variables:\n\n   Backend (.env in metrics/backend):\n   ```env\n   FINNHUB_API_KEY=your_finnhub_api_key\n   PORT=5001\n   ```\n\n   Frontend (.env in metrics/):\n   ```env\n   VITE_API_URL=http://localhost:5001/api\n   VITE_FINNHUB_API_KEY=your_finnhub_api_key\n   VITE_FIREBASE_API_KEY=your_firebase_api_key\n   VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain\n   VITE_FIREBASE_PROJECT_ID=your_firebase_project_id\n   VITE_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket\n   VITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id\n   VITE_FIREBASE_APP_ID=your_firebase_app_id\n   VITE_FIREBASE_MEASUREMENT_ID=your_firebase_measurement_id\n   ```\n\n## Running the Application\n\n1. Start the backend server:\n   ```bash\n   cd metrics/backend\n   npm run start or node server.js\n   ```\n\n2. Start the frontend development server:\n   ```bash\n   cd metrics\n   npm run dev\n   ```\n\n3. Access the application:\n   - Frontend: http://localhost:5173\n   - Backend API: http://localhost:5001\n\n## Deployment\n\n### Backend (Railway)\n1. Create a new project on [Railway](https://railway.app)\n2. Connect your GitHub repository\n3. Set up the environment variables in Railway dashboard\n4. Deploy the backend service\n\n### Frontend (Vercel)\n1. Create a new project on [Vercel](https://vercel.com)\n2. Import your GitHub repository\n3. Configure the build settings:\n   - Framework Preset: Vite\n   - Root Directory: metrics\n   - Build Command: npm run build\n   - Output Directory: dist\n4. Add environment variables in Vercel dashboard\n5. Deploy the frontend\n\n## API Endpoints\n\n### Authentication\n- Firebase Authentication is used for user management\n\n### Stock Data\n- `GET /api/quote/:symbol` - Get real-time stock quote\n- `GET /api/historical/:symbol` - Get historical price data\n- `GET /api/fundamentals/:symbol` - Get company fundamentals\n- `GET /api/market-news` - Get latest market news\n- `GET /api/technical-indicators/:symbol` - Get technical indicators\n\n### Watchlist\n- `GET /api/watchlist` - Get user's watchlist\n- `POST /api/watchlist` - Add stock to watchlist\n- `DELETE /api/watchlist/:symbol` - Remove stock from watchlist\n\n### Market Data\n- `GET /api/market-sentiment` - Get market sentiment analysis\n- `GET /api/market-movers` - Get top market movers\n- `POST /api/compare` - Compare multiple stocks\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- [Finnhub.io](https://finnhub.io) for providing the stock market data API\n- [Firebase](https://firebase.google.com) for authentication services\n- [Chart.js](https://www.chartjs.org) for charting capabilities\n- [TailwindCSS](https://tailwindcss.com) for styling\n\n## Support\n\nFor support, email rialparmar007@gmail.com or open an issue in the repository.\n\n## Screenshots\n\n![stock darkmode](https://github.com/user-attachments/assets/3bacb23e-1dc4-4081-86b7-b59fd0c8bd89)\n![Stocks](https://github.com/user-attachments/assets/d3a344d6-4f72-4de3-9668-78bd48ea349c)\n![Bar graph](https://github.com/user-attachments/assets/e00baa7b-820a-445b-b057-fc3c7b218527)\n![Learn](https://github.com/user-attachments/assets/6f49c7c3-1d7a-43a7-b8cd-bdc96160bb16)\n\n\n## Future Enhancements\n\n- Portfolio tracking and management\n- Advanced technical analysis tools\n- Mobile app development\n- Social features for sharing insights\n- Integration with more data providers\n- Cryptocurrency market data\n- Options trading data\n- AI-powered stock predictions \n\n# Powered by Rial\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frialparmar1777%2Fmetrics-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frialparmar1777%2Fmetrics-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frialparmar1777%2Fmetrics-dashboard/lists"}