https://github.com/dmunasingha/newsfeeds
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.
https://github.com/dmunasingha/newsfeeds
api ejs-templates express feed news nodejs tailwindcss
Last synced: about 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/dmunasingha/newsfeeds
- Owner: dmunasingha
- Created: 2025-07-08T02:44:48.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2025-07-08T02:51:58.000Z (12 months ago)
- Last Synced: 2025-07-08T04:49:38.868Z (12 months ago)
- Topics: api, ejs-templates, express, feed, news, nodejs, tailwindcss
- Language: JavaScript
- Homepage:
- Size: 15.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Combined News Feed App
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.
## Features
- 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)
## Getting Started
### Prerequisites
- Node.js (v18+ recommended)
- npm (v9+ recommended)
### Installation
1. Clone the repo:
```bash
git clone https://github.com/dmunasingha/NewsFeeds
cd NewsFeeds
```
2. Install dependencies:
```bash
npm install
```
3. Start the development server:
```bash
npm start
```
4. Open your browser at:
```
http://localhost:3000
```
## Project Structure
```
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
```
## Notes
- 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
## License
MIT License