Install
Start hereInstall Node.js v18+.
Institutional-grade market news intelligence terminal that aggregates 25+ RSS feed sources (Moneycontrol, Economic Times, Mint, Reuters India, NDTV Business, Zeebiz, etc.), auto-categorizes articles into Markets/Economy/Corporate/Global/Industry/Mutual Funds/IPO, stores them in SQLite with 30-day auto-pruning, extracts NLP keywords, and serves them through an Express API + glassmorphic dark-mode dashboard.
What the README tells you
14 ⭐ | 4 forks | 94 commits | Live at newsdesk.mrchartist.com. The README documents 6 feature categories with screenshots, full project structure, 9 REST API endpoints, SQLite schema, auto-pruning lifecycle, NLP keyword extraction, and Hostinger/VPS deployment guide.
A quick practical feature map before you open the source code.
Smart Feed Aggregation — 25+ curated RSS sources (Moneycontrol, ET Markets, Mint, Reuters, NDTV Business, Financial Express, Zeebiz, Outlook Money, etc.), periodic cron-based fetching via node-cron, deduplication by URL, and auto-categorization into 7 market verticals.
Intelligent Categorization — NLP-powered keyword matching classifies articles into Markets, Economy, Corporate, Global, Industry, Mutual Funds, and IPO. Headline/description scanning with weighted scoring per category.
SQLite Persistence — articles table with title, link, source, description, pubDate, category, keywords, imageUrl. Automatic 30-day pruning via cron to prevent database bloat. WAL mode for concurrent reads.
Interactive Dashboard — Glassmorphic dark-mode UI with category filter tabs, search bar, source attribution badges, publication timestamps, infinite scroll, article proxy for full-text reading, and mobile-responsive layout.
Article Proxy — Express proxy endpoint fetches full article content for in-app reading, bypassing paywalls where possible, with HTML sanitization and rendering.
REST API — 9 endpoints: GET /api/news (with category/search/limit/offset filters), GET /api/categories, GET /api/sources, GET /api/stats, POST /api/refresh, GET /api/article-proxy, GET /api/health, and more.
Follow these steps to get Newsdesk running on your machine.
Setup Path
Follow the README flow first. Once the app opens locally, use the AI prompts below to trace the data flow and make focused changes.
Install Node.js v18+.
Clone. git clone https://github.com/MrChartist/Newsdesk.git && cd Newsdesk
git clone https://github.com/MrChartist/Newsdesk.gitInstall. npm install (installs Express, SQLite3, node-cron, rss-parser, cheerio).
npm installStart. npm start — server runs on http://localhost:3000. SQLite DB auto-creates on first run.
npm startFor development with auto-reload. npm run dev (uses nodemon).
npm run devFor production (Hostinger/VPS). NODE_ENV=production node server.js or use PM2: pm2 start server.js --name newsdesk.
NODE_ENV=production node server.jsPick your AI tool, copy the prompt, and let it handle the entire setup and codebase walkthrough for you.
Best when you want the assistant to operate inside the editor and handle setup end-to-end.
Ready-to-use prompt ↓
Open https://github.com/MrChartist/Newsdesk. Clone the repository, inspect the README first, then set up the project locally using the exact setup steps from the README. Before editing anything, explain the stack, folder structure, data flow, required environment variables, and the safest first customization for this project: Run npm start to populate the SQLite database with initial feed data, explore the dashboard, then ask an AI to trace the categorization engine before adding new features.
How it works: Paste the prompt into Antigravity after choosing the repo. Ask it to read the README first, run setup commands, keep changes small, and explain every file it touches before editing.
Best when you want command-by-command setup, debugging, code edits, and verification in a local workspace.
Ready-to-use prompt ↓
I want to work on https://github.com/MrChartist/Newsdesk. First read the README and summarize what the project does. Then give me the exact commands for my operating system to clone, install, configure environment variables, and run it locally. After it runs, inspect the codebase and propose one small change that matches this goal: Run npm start to populate the SQLite database with initial feed data, explore the dashboard, then ask an AI to trace the categorization engine before adding new features.
How it works: Paste the prompt into Codex with the repository URL. Ask it to run the project, identify the stack from files instead of guessing, make scoped edits, and verify with build or browser checks.
Best when you want architecture explanation, codebase understanding, and a clean implementation plan before edits.
Ready-to-use prompt ↓
Analyze https://github.com/MrChartist/Newsdesk from the README and source structure. Create a clear architecture map, explain the main modules, identify setup risks, and recommend a safe implementation plan for extending it. Focus especially on: Ask the AI to map the data pipeline: RSS Sources (25+) → rss-parser → categorization engine → SQLite INSERT with dedup → /api/news → frontend dashboard. Ask it to explain the NLP categorization logic: how keyword arrays per category are matched against headlines/descriptions with weighted scoring. Ask it to trace the auto-pruning cron job that removes articles older than 30 days from SQLite. Ask it to identify the article proxy flow: frontend click → /api/article-proxy?url=... → cheerio HTML parsing → sanitized content response. Start with one focused change: add a new RSS source to the feed array, create a new category (e.g., 'Crypto'), or add a sentiment scoring layer.
How it works: Paste the prompt with the GitHub link. Ask Claude to read the README, map modules, list risks, and produce a practical plan before using Claude Code or another agent to implement.
After setup, use these focused questions to get the most value from your AI assistant.
AI Briefing Mode
Use these prompts after the repo runs locally. The goal is to make the AI trace the system before it changes code.
Ask the AI to map the data pipeline: RSS Sources (25+) → rss-parser → categorization engine → SQLite INSERT with dedup → /api/news → frontend dashboard.
Ask it to explain the NLP categorization logic: how keyword arrays per category are matched against headlines/descriptions with weighted scoring.
Ask it to trace the auto-pruning cron job that removes articles older than 30 days from SQLite.
Ask it to identify the article proxy flow: frontend click → /api/article-proxy?url=... → cheerio HTML parsing → sanitized content response.
Start with one focused change: add a new RSS source to the feed array, create a new category (e.g., 'Crypto'), or add a sentiment scoring layer.
Best Next Step
Run npm start to populate the SQLite database with initial feed data, explore the dashboard, then ask an AI to trace the categorization engine before adding new features.