Headlines
Headlines is a news application that aggregates news from over 50 sources using NewsApi.org endpoints to bring news to you at your convinience. Headlines gives you the ease of getting news headlines from different sources in one place instead of having to visit these sites separately. Click Here to view the hosted app.
Features
- View and search through a list of available News Sources
- View headlines and excerpts based on news source
- View Headlines based on sort options (e.g top, latest)
Getting Started
- Requirements
- An installation of node.js is required to run the app locally
- Setting up the project
- Clone the repo
git clone https://github.com/joel-ace/headlines.git
- Run
cd headlines
to change into headlines directory - Run
npm install
to install all dependencies - Run
npm start
to run the application
- Clone the repo
- How to run tests
- Run
npm test
- Run
How to use the app
On app startup:
- Click on the 'Login with Google' Button to login
- On successful login, browse through the list of sources or use search to filter news sources
- Click on the source name to view the news headlines from particular news source.
- Use the sort drop down at the top right part of the page to view news based on the sort options available.
Tech Stack
- Node JS - Node.js is a JavaScript runtime environment built on Chrome's V8 JavaScript engine.
- React - React is a JavaScript library developed by Facebook Software Engineers for building user interfaces.
- Webpack - webpack is a module bundler for modern JavaScript applications.
- Babel - Babel is a JavaScript compiler, it is used for transpiling ES6 down to ES5.
- Express - Express is a minimal and flexible Node.js web application framework, It is used as the web server.
- Jest - Complete and easy to set-up JavaScript testing solution.
Limitations of the project
- The Application uses only Google Login as a form of Authentication
- The Application does not display news stories on the site
- The Application can not save favorite articles for later viewing
- Users cannot share news headlines or stories from the site
Contributing to the project
- Fork this repository to your account
- Clone this repository -
git clone https://github.com/joel-ace/headlines.git
- Create a new branch for your feature -
git checkout -b <new-feature>
- Commit your changes -
git commit -m "did something"
- Push to the remote branch -
git push origin <new-feature>
- Open a pull request
Contributions should be written in ES6 and should extend the Airbnb JavaScript Style
Author
- Joel Akwevagbe
License
This project is licensed under the MIT license.