{"id":29350725,"url":"https://github.com/dmunasingha/newsfeeds","last_synced_at":"2026-05-07T03:35:37.369Z","repository":{"id":303518396,"uuid":"1015770965","full_name":"dmunasingha/NewsFeeds","owner":"dmunasingha","description":"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.","archived":false,"fork":false,"pushed_at":"2025-07-08T02:51:58.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-08T04:49:38.868Z","etag":null,"topics":["api","ejs-templates","express","feed","news","nodejs","tailwindcss"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dmunasingha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-08T02:44:48.000Z","updated_at":"2025-07-08T02:50:48.000Z","dependencies_parsed_at":"2025-07-08T04:49:42.899Z","dependency_job_id":"eab798e7-9bfe-444b-84ad-513970a870d8","html_url":"https://github.com/dmunasingha/NewsFeeds","commit_stats":null,"previous_names":["dmunasingha/newsfeeds"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dmunasingha/NewsFeeds","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmunasingha%2FNewsFeeds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmunasingha%2FNewsFeeds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmunasingha%2FNewsFeeds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmunasingha%2FNewsFeeds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmunasingha","download_url":"https://codeload.github.com/dmunasingha/NewsFeeds/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmunasingha%2FNewsFeeds/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264363943,"owners_count":23596532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","ejs-templates","express","feed","news","nodejs","tailwindcss"],"created_at":"2025-07-08T23:19:05.885Z","updated_at":"2026-05-07T03:35:37.342Z","avatar_url":"https://github.com/dmunasingha.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Combined News Feed App\n\nA 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.\n\n## Features\n\n- Fetches multiple RSS feeds (BBC, CNN, NPR, etc.)\n- Combines news items and sorts by publication date\n- Modern UI with Tailwind CSS (via CDN)\n- EJS templating with layouts using express-ejs-layouts\n- Structured code with separation of concerns (routes, services, views)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js (v18+ recommended)\n- npm (v9+ recommended)\n\n### Installation\n\n1. Clone the repo:\n\n```bash\ngit clone https://github.com/dmunasingha/NewsFeeds\ncd NewsFeeds\n```\n\n2. Install dependencies:\n\n```bash\nnpm install\n```\n\n3. Start the development server:\n\n```bash\nnpm start\n```\n\n4. Open your browser at:\n\n```\nhttp://localhost:3000\n```\n\n## Project Structure\n\n```\nsrc/\n├── routes/\n│   └── news.js           # Express routes\n├── services/\n│   └── rssService.js     # RSS fetching and parsing logic\n├── views/\n│   ├── layouts/\n│   │   └── main.ejs      # Main layout template\n│   └── news.ejs          # News list template\n└── server.js             # Express app entry point\n```\n\n## Notes\n\n- Uses native fetch API available in Node 18+  \n- Tailwind CSS via CDN for ease of development (no build step required)  \n- Can be extended with caching, pagination, or additional news sources\n\n## License\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmunasingha%2Fnewsfeeds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmunasingha%2Fnewsfeeds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmunasingha%2Fnewsfeeds/lists"}