mdbudnick / RssBlur

Clone made of NewsBlur app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RSSBlur

Heroku link

Minimum Viable Product

RSSBlur is a web application inspired by NewsBlur built using Ruby on Rails and React.js in order to keep RSS feeds in one formatted browser page.

RSSBlur allows users to:

  • React-Based Authentication/Authorization
  • Add new Website to User via pop-up form
  • Organize website feeds into clickable sidebar list
  • Organize articles into list and summary components
  • Add dynamic scrolling to articles on-click of list
  • Add unread counter and update in real-time
  • Loading Animations
  • Pagination for Article lists
  • Edit profile menu
  • Profile pics with AWS storage

Design Docs

Implementation Timeline

Phase 1: User Authentication, User Websites and Landing Page (1 day)

Phase 1: The website will begin with the ability to create user accounts with BCrypt encrypted passwords. After signing up, users will be redirected to the home- page where they will already be subscribed to some websites and bare a-tag links to those sites will be provided.

Details

Phase 2: Websites and Sidebar Component (2 days)

Phase 2 will allow for the addition of website RSS feeds for the User. The site will host a single database for each unique website, which users can then link to with a join table. Websites will have to be checked as valid RSS feeds, and then added to both the Website database and UserWebsite database when created I will be using the Feedjira gem or the built-in Rails RSS parser to handle the RSS/XML requests and NOKOGIRI to parse them out. With the RSS feed API working, I will work on the sidebar to view the data coming through in a selectable list.

Details

Phase 3: Articles and UserArticles (2 days)

Phase 3 will be concerned with the centerpiece of my website, the articles. Articles will have to be parsed from the RSS feeds correctly and the relevant information passed down the the components. Also, UserArticles will have to be created when an user retrieves and Article, and deleted on deletion of the website the User and Article are associated with.

Details

Phase 4: Unread, Pagination, Search and Sort (2 days)

Phase 4 introduces new features for articles. First, unread articles will be calculated for each UserWebsite and displayed, in real-time, next to the listed website name. Next, users will be able to bring up more articles when they reach the bottom of the scroll. This will be done with the Kaminari gem. (Ideally, there would even be infinite scrolling). Finally, a component will be added to search and display articles with certain criteria. Finally, when the articles are loaded and displayed, they can be sorted by another component without pinging the database again.

Details

Phase 5: Profile Info and AWS (1 day)

Phase 5 will be a bit of old and new. I will be going back to the User model and adding a menu with components that will allow a user to change their password and profile pic. For the new, I will be setting up an AWS account linked to my project where I will store the profile pictures.

Details

Phase 6: Right-Click CRUD Component (1 day)

Phase 6 will be creating a component that comes up on right click that will hold the UX functionality for the different items. This component can be reinterpreted for the different data objects but, to start, will be focused on the CRUD commands for Websites in the sidebar and sorting in the Article components. It will link in to most of the Api actions and Utils already created.

Details

About

Clone made of NewsBlur app


Languages

Language:C 44.1%Language:Ruby 44.0%Language:JavaScript 6.8%Language:HTML 2.9%Language:CSS 2.0%Language:CoffeeScript 0.2%