{"id":29300235,"url":"https://github.com/asksandipd/stock-analysis-app","last_synced_at":"2025-07-06T20:09:24.607Z","repository":{"id":290693273,"uuid":"975258171","full_name":"asksandipd/stock-analysis-app","owner":"asksandipd","description":"A Nextjs + Tailwindcss app to chart the top 5 stock gainers as of a certain date + show historical data","archived":false,"fork":false,"pushed_at":"2025-04-30T03:26:41.000Z","size":105,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-30T04:24:09.500Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/asksandipd.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-04-30T03:13:13.000Z","updated_at":"2025-04-30T03:26:44.000Z","dependencies_parsed_at":"2025-04-30T04:24:12.362Z","dependency_job_id":"b84f29ce-f792-4c8f-b2ad-e7b0ffa91075","html_url":"https://github.com/asksandipd/stock-analysis-app","commit_stats":null,"previous_names":["asksandipd/stock-analysis-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/asksandipd/stock-analysis-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asksandipd%2Fstock-analysis-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asksandipd%2Fstock-analysis-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asksandipd%2Fstock-analysis-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asksandipd%2Fstock-analysis-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asksandipd","download_url":"https://codeload.github.com/asksandipd/stock-analysis-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asksandipd%2Fstock-analysis-app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263966169,"owners_count":23536815,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-07-06T20:09:24.030Z","updated_at":"2025-07-06T20:09:24.596Z","avatar_url":"https://github.com/asksandipd.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stock Gainers - Real-time Market Analysis App\n\nA dynamic Next.js application for tracking top gaining stocks with interactive charts and real-time market data using Finnhub API.\n\n![Stock Gainers Dashboard](public/dashboard-preview.png)\n\n## Project Overview\n\nStock Gainers is a web application (Dev In Progress) that allows users to:\n\n- Track top-performing stocks in real-time\n- View detailed stock price charts with customizable time ranges\n- Analyze historical stock data\n- Monitor key metrics like price changes and trading volume\n- Receive real-time updates via WebSocket connections\n\n## Features\n\n- **Real-time Stock Data**: Live price updates using Finnhub WebSocket API\n- **Interactive Charts**: Responsive and interactive stock price charts using Lightweight Charts\n- **Multiple Time Ranges**: View stock performance across 1D, 5D, 10D, 1W, 1M, and 6M periods\n- **Responsive Design**: Mobile-friendly interface that works on all devices\n- **Data Caching**: Optimized API usage with smart caching strategies\n- **Error Handling**: Robust error management for API failures\n- **Loading States**: Smooth user experience with loading indicators\n- **Keyboard Navigation**: Accessible interface with keyboard shortcuts\n\n## Tech Stack\n\n- **Frontend**: Next.js 14 with App Router, React 18, TypeScript\n- **Styling**: Tailwind CSS for responsive design\n- **Authentication**: NextAuth.js for secure user access\n- **Charts**: Lightweight Charts for high-performance visualizations\n- **API Integration**: Finnhub API for financial data\n- **Real-time Updates**: WebSocket connections for live data\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18.0 or later\n- Finnhub API key (register at [Finnhub.io](https://finnhub.io))\n\n### Environment Setup\n\nCreate a `.env.local` file in the root directory with:\n\n```\nNEXT_PUBLIC_FINNHUB_API_KEY=your_finnhub_api_key\nNEXTAUTH_URL=http://localhost:3000\nNEXTAUTH_SECRET=your_nextauth_secret\n```\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/YourUsername/stock-analysis-app.git\n\n# Navigate to project directory\ncd stock-analysis-app\n\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) in your browser to see the application.\n\n## Project Structure\n\n```\nsrc/\n├── app/               # Next.js App Router pages\n│   ├── page.tsx       # Landing page\n│   ├── dashboard/     # Stock analysis dashboard\n│   └── auth/          # Authentication pages\n├── components/        # Reusable UI components\n│   ├── charts/        # Chart components\n│   └── ...\n├── lib/               # Utility functions and services\n│   ├── api/           # API integration services\n│   └── config.ts      # Application configuration\n└── types/             # TypeScript type definitions\n```\n\n## API Integration\n\nThis application uses the Finnhub API for:\n\n1. **Stock Symbol Lookup**: Getting top gainers and stock data\n2. **Historical Candle Data**: Retrieving price history for charting\n3. **Real-time WebSocket**: Subscribing to live price updates\n\nThe app implements a throttling mechanism to respect Finnhub's rate limits of 60 requests per minute on the free tier.\n\n## Future Improvements\n\n- Portfolio tracking and watchlists\n- Advanced technical indicators\n- Customizable dashboards\n- News integration for selected stocks\n- Performance optimizations for mobile devices\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Acknowledgements\n\n- [Finnhub](https://finnhub.io) for providing financial data API\n- [Lightweight Charts](https://tradingview.github.io/lightweight-charts/) for chart visualization\n- [Next.js](https://nextjs.org) for the React framework\n- [Tailwind CSS](https://tailwindcss.com) for styling\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasksandipd%2Fstock-analysis-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasksandipd%2Fstock-analysis-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasksandipd%2Fstock-analysis-app/lists"}