GithubHelp home page GithubHelp logo

final-b0ss / rss-new-reader Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 893 KB

My News Reader is a simple react app where you can read news articles that you provide from RSS formatted xml links.

HTML 1.62% CSS 0.14% JavaScript 18.06% TypeScript 80.18%

rss-new-reader's Introduction

Usage

My News Reader is a simple react app where you can read news articles that you provide from RSS formatted xml links. Not every link will work due to some using slightly different formatting. here are a few great feeds to test with.

enter image description here

Setup

To start the client:

cd client
npm install # or `yarn`
npm start # or `yarn start`

The client will run on http://localhost:3000

To start the server:

cd server
npm install # or `yarn`
npm start # or `yarn start`

The server will run on http://localhost:8080

Before writing any code the app had to be designed. Below is the first mockup I made for My News Reader enter image description here

This structure of this app follows the MVC format. enter image description here

API Guide

The backend server has two endpoint. One for getting feed information the other for getting all the articles in a feed.

api/fetchFeed?link=${link} Purpose - Fetch the general information about an RSS feed. Input - Link: A string that points to the xml sheet for the rss feed you wish to get information for Output - An object that describes the feed provided.

example Input: http://feeds.feedburner.com/psblog

example output: { title: 'PlayStation.Blog', link: 'http://feeds.feedburner.com/psblog', description: 'Follow this official PlayStation Blog for news and video updates on PS4, PS3, PSN, PS Vita and PSP, image: 'https://blog.playstation.com/tachyon/2019/03/cropped-pslogo.png?fit=32,32', lastBuildDate: ' 12 Jan 2021 17:00:08 +0000' }

api/fetchItems?link=${link} Purpose - Fetch every article from a given feed Input - Link: A string that points to the xml sheet for the rss feed you wish to get information for Output - An array of objects representing each article from a given feed

example Input: http://rssfeedexample.xml

example output: [ { title: 'Article 1, link: 'http://rssfeedexample.xml', description: 'A short summary of article 1', content: 'The complete story for article 1', pubDate: 'dd month yyyy hh:mm:ss +timezone' }, { title: 'Article 2, link: 'http://rssfeedexample.xml', description: 'A short summary of article 2', content: 'The complete story for article 2', pubDate: 'dd month yyyy hh:mm:ss +timezone' }, { title: 'Article 3, link: 'http://rssfeedexample.xml', description: 'A short summary of article 3', content: 'The complete story for article 13', pubDate: 'dd month yyyy hh:mm:ss +timezone' },]

Future plans

- Save feeds in localStorage so they don't have to be re-added after refreshing the page.

- Add support for podcast and video feeds

- Allow users to manually remove feeds after adding them

- A dark theme toggle

- Error messages for the user if a provided link does not work

rss-new-reader's People

Contributors

final-b0ss avatar

Stargazers

Junior David Roche avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.