A modern, responsive stock market dashboard built with Next.js, React, and TypeScript. Track stocks, create portfolios, set price alerts, and compare performance - all in one application.
- View trending stocks
- Real-time stock data updates
- Responsive design for all devices
- Comprehensive stock information
- Historical price charts with multiple timeframes
- One-click add to watchlist
- Compare multiple stocks side-by-side
- View normalized percentage changes or actual prices
- Customizable time ranges
- Create and manage multiple portfolios
- Add/remove stocks from portfolios
- Track portfolio performance
- Set alerts for price targets
- Get notified when stocks reach your target
- Support for above/below price conditions
- Framework: Next.js 14
- Language: TypeScript
- UI Components:
- Shadcn UI
- Radix UI
- Lucide React Icons
- State Management: React Context API
- Charting: Recharts
- Animations: Framer Motion
- API: Finnhub Stock API
- Node.js 18.x or higher
- npm or yarn
- Clone the repository
git clone https://github.com/Abhinavexists/StockBoard.git
cd stock-market-dashboard- Install dependencies
npm install
# or
yarn install- Create a
.env.localfile in the root directory with your Finnhub API key:
NEXT_PUBLIC_FINNHUB_API_KEY=your_api_key_here
- Start the development server
npm run dev
# or
yarn dev- Open http://localhost:3000 in your browser
- Use the search bar to find stocks by symbol or company name
- Click on a stock to view its detailed information
- Navigate to the Portfolios page
- Click "New Portfolio"
- Enter a name for your portfolio
- Use the search function to add stocks
- Go to the Alerts page
- Click "New Alert"
- Select a stock and set your target price
- Choose whether you want to be alerted when the price goes above or below your target
- Visit the Compare page
- Search and add multiple stocks
- Switch between "Relative %" and "Actual $" views
- Change the timeframe using the tabs
The app uses browser local storage to persist:
- Watchlist
- Portfolios
- Price alerts
No server-side database is required for personal use.
This project is licensed under the MIT License - see the LICENSE file for details.
For now the Finhub API is hardcoded.
