Feed Reader

RSS is a standard protocol that operates over http and is commonly used to publish updates for resources including blogs, news sites, and many more. Here are some example feeds (Each word in that sentence is a link). It is based in XML and designed to be easily read by programs.

Your task is to create such a program.

Basics

Your program must be able to perform the following basic tasks:

  1. Accept user defined feeds.
  2. Read those feeds and store the data incrementally (preferrably in a database)
  3. Track additional information related to feed items (such as whether they have been read or not)
  4. Display a list of feed items
  5. Display a detail view for an individual item (and track the view)

This project is designed to be implementable in nearly any programming language; however, it may be easiest to implement it as a web application to leverage knowledge of langauges you already know. If you do not want to write it in PHP then the following languages are suggested:

Your application will need to store data, it is reccommended you do it with a database. If you do not want to use MySQL the following database technologies are suggested:

Advanced

A project that performs all "Basic" actions will not impress a potential employer, what will is how you expand upon the project core, and make the idea your own. Below are some potential improvements/extensions to the core idea, or you may come up with your own.

###Display

  • A clean elegant interface
  • Single page app

###Social network integration This involves adding functionality by leveraging existing networks (facebook, twitter, etc.) to create some functionality

  • Share to social networks
  • Pull friends and interests

###Discovery These are all related to how your application can suggest feeds to a user

  • Social network (Add friends, recommend feeds your friends like)
  • Tag based, categorize different feeds by tags
  • Content matching/indexing
  • Recommend feeds you don't follow that other users that follow same/similar feeds do

###Organization These are all related to how you choose to organize and/or filter feed entries

  • Natural language analysis
    • Sentiment analysis (do you want to read happy, sad, etc. feed items)
    • Summary analysis
      • Hide similar stories
      • Show the most different stories first
  • Vote based
  • User interest based (weighted tags on feeds)

###Various

  • Read atom
  • Publish a combined feed (in multiple formats)
  • Read and publish using PubSubHubbub
  • Make your application usable via an API with REST

License

This document is made available under a CC BY-SA 4.0 license, the full text of which can be found online or in the LICENSE file.

Contributing

If you have any additional ideas you wish to share, or any additions/corrections to this document, please open a pull request. Please do not add yourself to the "Authors" section, this will be done by the repository owner. Note that terms of the contribution guidelines apply.

Authors

Kegan Myers