2Poll is my solution to a freeCodeCamp full stack project challenge, Build a Voting app. It allows users to browse existing polls as well as to sign up and login to vote or create new polls. The app's responsive design delivers clear and professional layout when accessing from all type of devices.
See it in action: https://jia-fcc-votingapp.herokuapp.com/.
- 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.
- This project employes a MERN stack of React + Node + Express + MongoDB.
- Other key packages used includes create-react-app, React Router(v4), mongoose, and passport.
- The project's user interface is crafted with Material-ui framework.
- The interactive bar chart showing poll statistics is created with d3.
- Enable sign up and login with social network account.