{"id":17017975,"url":"https://github.com/vijethph/feedhub","last_synced_at":"2025-07-10T05:40:03.374Z","repository":{"id":135322844,"uuid":"310876643","full_name":"vijethph/FeedHub","owner":"vijethph","description":"A Vue.js App that fetches news and RSS feeds","archived":false,"fork":false,"pushed_at":"2025-04-04T08:21:57.000Z","size":3385,"stargazers_count":1,"open_issues_count":10,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-04T09:27:53.671Z","etag":null,"topics":["azure-ad","azure-functions","firebase","newsapi","rss-aggregator","vuejs"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vijethph.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2020-11-07T15:40:36.000Z","updated_at":"2025-02-09T13:17:38.000Z","dependencies_parsed_at":"2024-07-13T04:38:48.564Z","dependency_job_id":"f9fd21ce-d532-48e2-aeec-d0bed131ec64","html_url":"https://github.com/vijethph/FeedHub","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vijethph/FeedHub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vijethph%2FFeedHub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vijethph%2FFeedHub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vijethph%2FFeedHub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vijethph%2FFeedHub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vijethph","download_url":"https://codeload.github.com/vijethph/FeedHub/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vijethph%2FFeedHub/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264536027,"owners_count":23624405,"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":["azure-ad","azure-functions","firebase","newsapi","rss-aggregator","vuejs"],"created_at":"2024-10-14T06:44:10.720Z","updated_at":"2025-07-10T05:40:03.335Z","avatar_url":"https://github.com/vijethph.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Status](https://img.shields.io/badge/status-active-success.svg?style=flat-square\u0026logo=vue.js)]()\n[![GitHub issues](https://img.shields.io/github/issues/vijethph/FeedHub?style=flat-square)](https://github.com/vijethph/FeedHub/issues)\n[![Contributors](https://img.shields.io/github/contributors/vijethph/FeedHub?style=flat-square)](https://github.com/vijethph/FeedHub/graphs/contributors)\n[![GitHub forks](https://img.shields.io/github/forks/vijethph/FeedHub?color=blue\u0026style=flat-square)](https://github.com/vijethph/FeedHub/network)\n[![GitHub stars](https://img.shields.io/github/stars/vijethph/FeedHub?color=yellow\u0026style=flat-square)](https://github.com/vijethph/FeedHub/stargazers)\n[![GitHub license](https://img.shields.io/github/license/vijethph/FeedHub?style=flat-square)](https://github.com/vijethph/FeedHub/blob/master/LICENSE)\n[![made-with-vue](https://img.shields.io/badge/made%20with-vue-fca311.svg?style=for-the-badge\u0026labelColor=14213d\u0026logo=vue.js)](https://reactjs.org)\n[![forthebadge](https://forthebadge.com/images/badges/built-by-developers.svg)](https://forthebadge.com)\n[![forthebadge](https://forthebadge.com/images/badges/powered-by-coffee.svg)](https://forthebadge.com)\n\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/vijethph/FeedHub\"\u003e\n    \u003cimg src=\"src/assets/logo.png\" alt=\"Logo\" width=\"120\" height=\"120\"\u003e\n  \u003c/a\u003e\n\n  \u003ch2 align=\"center\"\u003eFeedHub\u003c/h2\u003e\n\n  \u003cp align=\"center\"\u003e\n    A news aggregator and RSS reader app built with Vue and Firebase.\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/vijethph/FeedHub/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/vijethph/FeedHub/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\n## Table of Contents\n\n- [About the Project](#about-the-project)\n  - [Built With](#built-with)\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Installation](#installation)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [License](#license)\n- [Contact](#contact)\n- [Acknowledgements](#acknowledgements)\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n\n## About The Project\n\n\u003cimg src=\"src/assets/FeedHubLogin.png\" width=\"390\" height=\"300\" alt=\"FeedHub Login Page\"\u003e \u003cimg src=\"src/assets/FeedHubNews.png\" width=\"400\" height=\"300\" alt=\"FeedHub News Page\"\u003e\n\u003cimg src=\"src/assets/FeedHubNewsSources.png\" width=\"390\" height=\"300\" alt=\"FeedHub News Sources Page\"\u003e \u003cimg src=\"src/assets/FeedHubRSS.png\" width=\"390\" height=\"300\" alt=\"FeedHub RSS Page\"\u003e\n\nThis is a news aggregator and RSS reader app that uses [Firebase Auth](https://firebase.google.com), [Firestore DB](https://cloud.google.com/firestore), [Vue.js Framework](https://vuejs.org) and [Azure Functions](https://azure.microsoft.com/en-in/services/functions) to fetch news sources and rss feeds, aggregate contents and display them in a user-friendly format. User can authenticate and login with email, Google or Microsoft, view latest news, add and remove favourite news sources, add RSS feeds and subscribe to updates. It also makes use of [NewsAPI](https://newsapi.org) to fetch news from different sources around the world. It fetches and parses RSS feeds with Azure Functions, and is deployed via Firebase Hosting.\n\n### Built With\n\nThis project is entirely built with the following components and languages:\n\n- [Firebase Auth](https://firebase.google.com)\n- [Firestore Database](https://cloud.google.com/firestore)\n- [Vue.js Framework](https://vuejs.org)\n- [Azure Functions](https://azure.microsoft.com/en-in/services/functions)\n- [NewsAPI](https://newsapi.org)\n\n\u003c!-- GETTING STARTED --\u003e\n\n## Getting Started\n\nFollow these instructions in order to get a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites\n\nNode.js\u003e=10 should be installed. After installation, check Node.js version using\n\n```sh\nnode --version\n```\n\nYou should have a Firebase Account. Log in to [Firebase Console](https://console.firebase.google.com) and create a new project. Add Firebase Credentials to the app in `main.js` file. In Firebase Console, enable authentication with email/password, Google and Microsoft. Create Firestore Database with name as `userfavs`.\n\n### Installation\n\n1. Clone the repo\n\n```git\ngit clone https://github.com/vijethph/FeedHub.git\n```\n\n2. Open the downloaded folder\n\n```sh\ncd FeedHub\n```\n\n3. Modify the firebaseConfig variable in `main.js` file as per your Firebase project configuration. Sign up for NewsAPI, retrieve an API key, and place it in `News.vue` file inside `src/components` folder. Then import the required dependencies in project folder using\n\n```sh\nnpm install\n```\n\n4. Choose any **one** of the following methods for creating RSS parsing server:\n\n   - Local Server Method: Go to `expressrssserver` folder, and run the following commands. The server should be running at `http://localhost:5000`. Put the url in `index.vue` file inside `src/components/feed-reader` folder.\n\n   ```\n   npm install\n   node server.js\n   ```\n\n   - Azure Function Method: Open up Azure Portal, create an Azure Function with HTTP Trigger, and replace the code in Azure Function with the one present in the file `azurefunction.js`. Get the Function URL and put it in `index.vue` file inside `src/components/feed-reader` folder.\n\n5. Run the program using\n\n```sh\nnpm run serve\n```\n\nThe app should be running in `http://localhost:8080` in your browser.\n\n\u003c!-- USAGE EXAMPLES --\u003e\n\n## Usage\n\nOnce the app starts, you can create an account in `Register` page, and then login with email/password or Google to find the various features of this project. You can view the latest news, add or remove favourite news sources. You can also add RSS feeds and subscribe to updates.\n\n\u003c!-- CONTRIBUTING --\u003e\n\n## Contributing [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat-square)](https://github.com/vijethph/FeedHub/pulls)\n\nContributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003c!-- LICENSE --\u003e\n\n## License\n\nDistributed under the MIT License.\n\n\u003c!-- CONTACT --\u003e\n\n## Contact\n\nVijeth P H - [@vijethph](https://github.com/vijethph)\n\nSathya M - [@sathya5278](https://github.com/sathya5278)\n\nProject Link: [https://github.com/vijethph/FeedHub](https://github.com/vijethph/FeedHub)\n\n## Thank You!\n\n[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com)\n\nIf you like this project, please ⭐ this repo and share it with others 👍\n\n\u003c!-- ACKNOWLEDGEMENTS --\u003e\n\n## Acknowledgements\n\n- [Vue.js Framework Docs](https://vuejs.org)\n- [Firebase Docs](https://firebase.google.com/docs)\n- [Azure Functions Docs](https://docs.microsoft.com/en-us/azure/azure-functions/)\n- [NewsAPI Docs](https://newsapi.org/docs)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvijethph%2Ffeedhub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvijethph%2Ffeedhub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvijethph%2Ffeedhub/lists"}