Skip to content

A full-stack project using MERN stack. Implemented authentication and data visualization. Deployed on AWS and Heroku. Built from scratch

Notifications You must be signed in to change notification settings

hongkuancn/fccproj-votingapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Votex

This is a full-stack Voting App using React, Redux, ExpressJS and MongoDB. It implemented functions related to data visualization and authentication.

The objective and functions of the project are set by Build a Voting App | freeCodeCamp.

It has been deployed on AWS Ubuntu Server and Heroku.
Heroku: https://cryptic-stream-11764.herokuapp.com
AWS: (Exceeds Free Tier)

There are 1260 lines of JavaScript code in the project.

Functions

  • User Story: As an authenticated user, I can keep my polls and come back later to access them.

  • User Story: As an authenticated user, I can delete polls that I decide I don't want anymore.

  • User Story: As an authenticated user, I can create a poll with any number of possible items.

  • User Story: As an authenticated user, I can see the aggregate results of my polls.

  • User Story: As an unauthenticated or authenticated user, I can share my polls with my friends on Twitter.

  • User Story: As an unauthenticated or authenticated user, I can see and vote on everyone's polls.

  • User Story: As an unauthenticated or authenticated user, I can see the results of polls in chart form.

  • User Story: As an unauthenticated or authenticated user, if I don't like the options on a poll, I can create a new option.

  • Additional Story: Every IP address can only vote once a poll.

  • Additional Story: There is a flashmessage when you successfully fire an action.

  • Additional Story: There is validation of data when you sign up or login.

Knowledge and skills in the project

  • JavaScript with ES2015 syntax

  • React, react-router-v4, Redux, redux-thunk

  • NodeJS, ExpressJS, REST API

  • MongoDB, Mongoose, MongoLAB

  • Data visualization, Chart.js

  • Authentication, JWT, Validation

  • Public IP address check, yarn

  • Production environment and deployment to AWS Ubuntu Server and Heroku

  • Bootstrap 4, CSS

Running the app on a local machine

Clone this repo:

$ git clone https://github.com/hongkuancn/fccproj-votingapp

Install yarn globally:

$ npm install yarn -g

Open the folder:

$ cd fccproj-votingapp

Install all dependancies:

$ yarn

Start the app:

$ yarn start

The app will be automatically in your browser at http://localhost:3000/.

Author

Hongkuan Wang

About

A full-stack project using MERN stack. Implemented authentication and data visualization. Deployed on AWS and Heroku. Built from scratch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published