A news aggregation and analysis platform for financial markets.
- Scrapes news from multiple financial news sources (Economic Times, MoneyControl, LiveMint)
- Analyzes news sentiment and extracts entities
- Correlates news with financial instruments
- Provides API endpoints for accessing news and fund data
- Clone the repository
- Install dependencies:
npm install - Create a
.envfile with the following variables:PORT=5000 MONGODB_URI=mongodb://localhost:27017/newssense NODE_ENV=development - Start the development server:
npm run dev
GET /api/news- Get all news articlesGET /api/news/search/:keyword- Search news by keywordGET /api/news/fund/:symbol- Get news related to a specific fundPOST /api/news/scrape- Manually trigger news scraping
GET /api/funds- Get all fundsGET /api/funds/:symbol- Get fund by symbolPUT /api/funds/:symbol- Update fund dataPOST /api/funds/update-all- Update all funds
- Fund data is updated daily at midnight
- News is scraped hourly from configured sources
- Node.js
- Express
- MongoDB
- Cheerio (for web scraping)
- Node-cron (for scheduled tasks)