A Node.js web app that fetches multiple RSS news feeds, combines and sorts them, and displays them as modern cards using Tailwind CSS and EJS templates.
- Fetches multiple RSS feeds (BBC, CNN, NPR, etc.)
- Combines news items and sorts by publication date
- Modern UI with Tailwind CSS (via CDN)
- EJS templating with layouts using express-ejs-layouts
- Structured code with separation of concerns (routes, services, views)
- Node.js (v18+ recommended)
- npm (v9+ recommended)
- Clone the repo:
git clone https://github.com/dmunasingha/NewsFeeds
cd NewsFeeds
- Install dependencies:
npm install
- Start the development server:
npm start
- Open your browser at:
http://localhost:3000
src/
├── routes/
│ └── news.js # Express routes
├── services/
│ └── rssService.js # RSS fetching and parsing logic
├── views/
│ ├── layouts/
│ │ └── main.ejs # Main layout template
│ └── news.ejs # News list template
└── server.js # Express app entry point
- Uses native fetch API available in Node 18+
- Tailwind CSS via CDN for ease of development (no build step required)
- Can be extended with caching, pagination, or additional news sources
MIT License