A modern stock market analytics platform for monitoring, analyzing, and tracking stock prices in real-time.
- Market Overview - Get a quick snapshot of market indices, currencies, and daily top movers
- Stock Search & Filtering - Search and filter stocks with real-time price updates
- Advanced Charting - Visualize historical data with interactive price charts
- Detailed Stock Information - Access company information, financial metrics, and news
- Favorites Management - Save and follow your favorite stocks for quick access
- Responsive Design - Works seamlessly on desktop, tablet, and mobile devices
- Dark Mode Support - Comfortable visual experience in all lighting conditions
- Node.js (version 18 or later)
- npm or yarn
- API keys for Alpha Vantage and NewsAPI
-
Clone the repository
git clone https://github.com/yourusername/StockyX.git cd StockyX -
Install frontend dependencies
npm install
-
Install backend dependencies
cd server npm install cd ..
-
Configure API keys
# Copy the example configuration file cp server/.env.example server/.env # Edit .env file and add your API keys # ALPHA_VANTAGE_API_KEY=your_alpha_vantage_key # NEWS_API_KEY=your_news_api_key
-
Start the backend development server
cd server npm run dev -
Start the frontend development server (in another terminal window)
npm run dev
-
Open the application in your browser: http://localhost:5173
- React 18
- Vite for fast builds
- Tailwind CSS for styling
- Lucide Icons for consistent UI elements
- Recharts for interactive data visualization
- Axios for API communication
- Node.js
- Express for routing
- Yahoo Finance API for market data
- Alpha Vantage API for financial information
- NewsAPI for current stock-related news
StockyX leverages the following APIs:
- Alpha Vantage - For stock data, company information, and currency exchange rates
- NewsAPI - For stock and company-related news
- Yahoo Finance (as fallback) - For additional stock data
API calls are handled through a custom backend proxy to protect API keys and implement efficient caching.
/api/quote/:ticker- Retrieves the latest stock quote/api/history/:ticker- Fetches historical price data/api/overview/:ticker- Gets company information and financial metrics/api/news?q=searchterm- Retrieves news based on search term/api/currency/:fromCurrency/:toCurrency- Fetches currency exchange rates/api/topmovers- Gets daily winners and losers
StockyX/
├── public/ # Static files
├── server/ # Backend proxy server
│ ├── server.js # Express server implementation
│ └── ...
├── src/ # Frontend source code
│ ├── assets/ # Images and static assets
│ ├── components/ # React components
│ ├── services/ # API service functions
│ ├── App.jsx # Main app component
│ └── ...
└── ...
- Portfolio Tracking - Create and monitor custom stock portfolios
- Notifications - Get alerts for price movements and news
- Advanced Filters - Screen stocks based on technical and fundamental indicators
- Performance Metrics - Track and analyze investment performance
- Efficient data caching to minimize API calls
- Lazy loading of components for faster initial load
- Debounced search to prevent API rate limiting
We welcome contributions to StockyX! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please ensure your code follows our style guidelines and includes appropriate tests.
Distributed under the MIT License. See LICENSE file for more information.
Built with ❤️ in Sweden
