jeremyhub/TechnicalInterview_FeedReader — pull request #3 by jroberts-iii (2014-07-08 21:25:00+00:00)
Title: Homework submission for Jim Roberts

Run the /Utilities/CreateDatabase project to initialize the database. The database has a bunch of T-SQL stored procedures that you need.

This has a single MVC page (/Home/Index). The client gets all of it's data from Web Api controllers. So we should be able to create a mobile app using the exiting Api.

The feed data is stored in the database and shared between all users. The users can add their own metadata to the feeds (like which items they have read).

The database throttles feed refreshes. Right now the feeds will become stale after one minute.

There are several incompatible versions of RSS plus Atom. So there might be some parser problems. I tried it with Reddit and Cnn feeds.

This has barely been tested. There are some unit test for the most basic cases. DotCover says it is 69% covered. But there are a lot of interactions cases that need to be added.

There is no way to determine when the feed items are published. There is an optional , but it is unclear whether is the original publication date, or a bumped publication date. I saw cases where bumped items had the original publication date. (So a old item with an old date is at the top of the feed.)

I added a sequence number to all the items to keep them in feed order. This seems to work pretty well for single feeds. They always stay pretty much in feed order, even as items age off the feeds. However, it is not as useful when trying to merge feeds together in some sort of coherent order. (Think displaying all items from all feeds.)

If you have any questions, please let me know.

With Best Regards,
Jim Roberts