User stories:
- As an authenticated user, I can keep my polls and come back later to access them.
- As an authenticated user, I can share my polls with my friends.
- As an authenticated user, I can see the aggregate results of my polls.
- As an authenticated user, I can delete polls that I decide I don't want anymore.
- As an authenticated user, I can create a poll with any number of possible items.
- As an unauthenticated or authenticated user, I can see and vote on everyone's polls.
- As an unauthenticated or authenticated user, I can see the results of polls in chart form. (This could be implemented using Chart.js or Google Charts.)
- As an authenticated user, if I don't like the options on a poll, I can create a new option.
Structure:
- app/
- config/
- stategies : passport login strategies
- mongo/
- polls : Polls schema
- user : User schema
- routes/
- addpolls: POST, GET requests for adding, modifying, voting, deleting polls
- auth : authorize user login with passport, or logout
- home : render pages
- static/
- dev/ : babel, pug, scss files for static pages
- dist/ : compiled files from ../dev
- views/ : .pug files for views
- config/
- server : server logic