This is a news feed application that enables you view news headlines from over 70 news sources. The news sources and articles are gotten from here
- Login via Google
- Allows users to select news sources
- Allows users to select view news sources based on a category e.g.Sport
- Allows users to sort news article based on the sorting parameter available
- Sorting can either be by - * Top * Latest * Popular
This project uses a host of modern technologies. The core ones are:
-
ECMAScript 6: Also known as ES2015, this is the newest version of Javascript with next-generation features like arrow functions, generators, enhanced object literals, spread operators and more. See this link for details.
-
NodeJS: NodeJS is a server-side JavaScript runtime engine built on Chrome's V8 JavaScript engine. It is lightweight, efficient and greatly used in building web apps. Please visit this link for more details.
-
React and ReactDOM: These were developed by Facebook and are used for building web pages that are structured as a collection of components. These components are kept as independent as possible. See this link.
-
The Flux architecture: This is a design architecture for building stable web apps with, among other things, a unidirectional flow of data. See this link for details.
Here are the steps you need to follow to run this project on your computer:
-
Install NodeJS: You may visit this link for complete instructions on installing NodeJS on your computer.
-
In the terminal/command prompt of your computer, navigate to your preferred location.
-
Clone this repo: Enter this command in the terminal:
git clone https://github.com/framky007/Headlines
- Install dependencies : By running the command below into your terminal:
npm install
-
create a firebase account for authenticating users : Go to Google firebase console page, create a project and add the config variables into a .env file in the root of the page: Use the variable names given by Google but convert it to caps - e.g AUTH_DOMAIN=headlines-rss-feed.firebaseapp.com
-
Run the project: This command below will compile and load the application:
npm start
- Open a web browser of your choice and visit the link provided in the terminal e.g.
http://localhost:3002
.
If you are interested in contributing to development of News-feed-app, follow the instructions below to contribute.
-
Fork the repository
-
Make your change
-
Commit your change to your forked repository
-
Provide a detailed commit description
-
Create a pull request
- Users can only view news from 70 sources
- Users can only view news from only 2 languages
- Users can only view a finite amount of artiles per news source.
- There is no provision to view old articles.
- The Articles currently don't have their authors' displayed because the API is returning a URl instead of a string containg the author
- What if I want to use another port?
In the root of the project. create a file named .env
and add the following line to it:
PORT=<your_desired_port>
where <your_desired_port> is the port you want to use. So, if you want to use port 8080
, you will write:
PORT=8080
This project is authored by Ajaps Franklin and is licensed for your use, modification, and distribution under the MIT license.