Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vijethph/feedhub
A Vue.js App that fetches news and RSS feeds
https://github.com/vijethph/feedhub
azure-ad azure-functions firebase newsapi rss-aggregator vuejs
Last synced: 23 days ago
JSON representation
A Vue.js App that fetches news and RSS feeds
- Host: GitHub
- URL: https://github.com/vijethph/feedhub
- Owner: vijethph
- License: mit
- Created: 2020-11-07T15:40:36.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-17T02:23:23.000Z (about 1 month ago)
- Last Synced: 2024-10-19T04:39:42.370Z (about 1 month ago)
- Topics: azure-ad, azure-functions, firebase, newsapi, rss-aggregator, vuejs
- Language: Vue
- Homepage:
- Size: 2.79 MB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Status](https://img.shields.io/badge/status-active-success.svg?style=flat-square&logo=vue.js)]()
[![GitHub issues](https://img.shields.io/github/issues/vijethph/FeedHub?style=flat-square)](https://github.com/vijethph/FeedHub/issues)
[![Contributors](https://img.shields.io/github/contributors/vijethph/FeedHub?style=flat-square)](https://github.com/vijethph/FeedHub/graphs/contributors)
[![GitHub forks](https://img.shields.io/github/forks/vijethph/FeedHub?color=blue&style=flat-square)](https://github.com/vijethph/FeedHub/network)
[![GitHub stars](https://img.shields.io/github/stars/vijethph/FeedHub?color=yellow&style=flat-square)](https://github.com/vijethph/FeedHub/stargazers)
[![GitHub license](https://img.shields.io/github/license/vijethph/FeedHub?style=flat-square)](https://github.com/vijethph/FeedHub/blob/master/LICENSE)
[![made-with-vue](https://img.shields.io/badge/made%20with-vue-fca311.svg?style=for-the-badge&labelColor=14213d&logo=vue.js)](https://reactjs.org)
[![forthebadge](https://forthebadge.com/images/badges/built-by-developers.svg)](https://forthebadge.com)
[![forthebadge](https://forthebadge.com/images/badges/powered-by-coffee.svg)](https://forthebadge.com)
FeedHub
A news aggregator and RSS reader app built with Vue and Firebase.
Report Bug
ยท
Request Feature
## Table of Contents
- [About the Project](#about-the-project)
- [Built With](#built-with)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
- [Acknowledgements](#acknowledgements)## About The Project
This 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.
### Built With
This project is entirely built with the following components and languages:
- [Firebase Auth](https://firebase.google.com)
- [Firestore Database](https://cloud.google.com/firestore)
- [Vue.js Framework](https://vuejs.org)
- [Azure Functions](https://azure.microsoft.com/en-in/services/functions)
- [NewsAPI](https://newsapi.org)## Getting Started
Follow these instructions in order to get a copy of the project up and running on your local machine for development and testing purposes.
### Prerequisites
Node.js>=10 should be installed. After installation, check Node.js version using
```sh
node --version
```You 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`.
### Installation
1. Clone the repo
```git
git clone https://github.com/vijethph/FeedHub.git
```2. Open the downloaded folder
```sh
cd FeedHub
```3. 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
```sh
npm install
```4. Choose any **one** of the following methods for creating RSS parsing server:
- 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.
```
npm install
node server.js
```- 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.
5. Run the program using
```sh
npm run serve
```The app should be running in `http://localhost:8080` in your browser.
## Usage
Once 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.
## Contributing [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat-square)](https://github.com/vijethph/FeedHub/pulls)
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request## License
Distributed under the MIT License.
## Contact
Vijeth P H - [@vijethph](https://github.com/vijethph)
Sathya M - [@sathya5278](https://github.com/sathya5278)
Project Link: [https://github.com/vijethph/FeedHub](https://github.com/vijethph/FeedHub)
## Thank You!
[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com)
If you like this project, please โญ this repo and share it with others ๐
## Acknowledgements
- [Vue.js Framework Docs](https://vuejs.org)
- [Firebase Docs](https://firebase.google.com/docs)
- [Azure Functions Docs](https://docs.microsoft.com/en-us/azure/azure-functions/)
- [NewsAPI Docs](https://newsapi.org/docs)