MVP Feature List - maxwelljmckee/TheDemocracyProject GitHub Wiki

1. Hosting on Heroku

  • Hosting on a live link that never sleeps

2. User CRUD

  • Users can sign up, sign in, log out
  • Upon sign up, user will be automatically connected with their state and district representatives.
  • Visitors can use a demo login to try the platform

3. Representative Follows

  • In addition to their automatically linked representatives, users can browse through all members of congress, view static data details on each member, and follow anyone they choose
  • Members can be filtered by chamber, name, or state

4. Representative Upvote/Downvote

  • Users may go to a representative's detail page and Upvote/Downvote them at any time, providing a realtime approval rating to the representative
  • User can toggle between Upvote/Downvote in any way they like, choosing one at a time or neither
  • Representative detail page should display two different renderings of their approval ratings - one showing only their constituents and one nationwide/at-large

5. Bill Follows

  • User can browse all active bills currently moving through congress, view static data on a bill detail page, and follow their favorites
  • Bills can be filtered by category or keyword

6. Bill Upvote/Downvote

  • User can cast an Upvote/Downvote on any given bill. This provides elected officials with a realtime feedback on how their constituencies feel about the issues
  • Upvotes/Downvotes can be cast and changed in all the same ways as Representative Upvote/Downvote

BONUS: Contacts

  • User will have one-click access to a variety of resources for following/contacting their followed representatives

BONUS: Bill Comments

  • Bill detail pages will contain a comments section where users can discuss the given issue.

BONUS: Community Discussion Boards

  • Beyond the simple comment thread on the Bill Detail page, there will be a whole branch of the platform dedicated to community discussion
  • Users can create new discussion threads, as well as browsing and contributing to existing discussions

BONUS: Expand Static Information and Statistics

  • The primary purpose of The Democracy Project is to give users a single-source for civic engagement, and provide them with the information and tools they need to be informed, contributing citizens. For this reason, it is important for the platform to offer a wide variety of statistics and other static information. Though these features do not demonstrate CRUD functionality, they are critical to the application's scope and utility.

BONUS: Representative Interface

  • Representatives can be authorized to access a restricted branch of the platform where they can view statistics about their own constituents. This may include constituent upvotes/downvotes for all the upcoming issues in which they are involved.

BONUS: Infinite News Feed

  • User can scroll an infinite feed of current events and updates.