Skip to content
This project is a simple application to voting at the poll for unregistered users and the registered users can make their own poll too.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
homepage
votingapp
.gitignore
README
package-lock.json
package.json
server.js

README

This project is a simple application to voting at the poll for unregistered users
and the registered users can make their own poll too. It was made as a task
from FCC course (link here) and I ( link to my website here) developed it
from 31 December 2017 to 30 June 2018.

I implemented these required user stories:

1. As an authenticated user, I can keep my polls and come back later to access them.
2. As an authenticated user, I can share my polls with my friends (link to the poll).
3. As an authenticated user, I can see the aggregate results of my polls.
4. As an authenticated user, I can delete polls that I decide I don't want anymore.
5. As an authenticated user, I can create a poll with any number of possible items.
6. As an unauthenticated or authenticated user, I can see and vote on everyone's polls.
7. 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.)
8. As an authenticated user, if I don't like the options on a poll, I can create a new option.

My additional and obvious user stories which I added to this project were:

1. The unauthorized user can watch poll's votes without voting (by clicking the button).
2. The authorized user can change his own password.
3. The admin can see a list of all polls and easily delete one of them.
4. The admin can see log files from the server into the browser (and avoids
login through ssh protocol to read them).

I fulfilled seventh user story, but I have used D3.js library to made a chart,
because I learned D3.js before and it is more familiar to me.

This app is a full stack JavaScript app. It means that I created both Front End
and Back End code myself. I used HTML, CSS, JavaScript, React and D3.js by
the client side and Node.js, Express.js and MongoDB at the server side.
The app and the database are working on my own hosting account. I used Forever
as the process manager to keep the app working nonstop.

Live version: http://projects.mybytes.pl/votingapp
Link to the task: https://www.freecodecamp.org/challenges/build-a-voting-app
Author: Sebastian Sporek http://mybytes.pl
You can’t perform that action at this time.