Skip to content
/ back Public

Back end to firepolls.com built using ExpressJS

License

Notifications You must be signed in to change notification settings

firepolls/back

Repository files navigation

Firepolls

Firepolls is a polling application that provides fast formative actionable data to users in real time.

Users can create, join rooms and create polls anonymously. When a user creates a room they can invite other users to join with the room name. Once a room is created the owner can then create polls which are available to other users within the room. If users choose to sign up, they will have access to saved rooms which contain poll results.

Firepolls is a fullstack javascript application.

Build Status

Build Status npm Contributions welcome

Tech / Frameworks

Back-end:

  • node.js
    • babel-core
    • babel-preset-env
    • babel-register
    • bcrypt
    • cors
    • dotenv
    • express
    • http-errors
    • jsonwebtoken
    • mongoose
    • socket.io
    • babel-eslint
    • eslint
    • eslint-config-airbnb-base
    • eslint-plugin-babel
    • eslint-plugin-import
    • faker
    • jest
    • nodemon
    • superagent

Front-end:

  • node.js
    • babel-core
    • babel-loader
    • babel-preset-env
    • babel-preset-react
    • babel-preset-stage-2
    • clean-webpack-plugin
    • css-loader
    • dotenv
    • express
    • extract-text-webpack-plugin
    • file-loader
    • html-webpack-plugin
    • material-ui
    • node-sass
    • react
    • react-dom
    • react-redux
    • react-router-dom
    • react-stars
    • redux
    • redux-devtools-extension
    • resolve-url-loader
    • sass-loader
    • serve-favicon
    • socket.io
    • socket.io-client
    • style-loader
    • superagent
    • uglifyjs-webpack-plugin
    • url-loader
    • uuid
    • validator
    • webpack
    • webpack-dev-server
    • babel-eslint
    • enzyme
    • enzyme-adapter-react-16
    • eslint
    • eslint-config-airbnb
    • eslint-plugin-babel
    • eslint-plugin-import
    • eslint-plugin-jsx-a11y
    • eslint-plugin-react
    • jest

Hosting

  • Heroku

Database

  • MongoDB

Continuous Integration

  • TravisCI

Features

User

  • signup
  • login
  • create a room
  • join a room
  • leave a room
  • vote on polls

User(as a room creator)

  • create polls
  • close room
  • save a room's poll results (if user has an account)

Entity Relationship Model

Volly

Tests

All tests run through the Jest testing suite on the front and back end. To run our code you must clone both front and back repos:

Front: https://github.com/firepolls/front

Back: https://github.com/firepolls/back

Install all required dependencies by running npm i. Before running tests you must install MongoDB. Once MongoDB is installed you can start your database with npm run dbon in your terminal.

How to use?

Visit our site at www.firepolls.com. You can get to creating a room and polls right away. Invite users to your room by providing them with your room name which they can input into the join form. If you choose to create an account by selecting sign up you can save rooms which contain your poll results.

Contribute

Want to help? Contribute to our project! Fork our repo and make a PR. Please feel free to contact us prior to beginning any work to discuss your ideas.

Credits

Robert Reed

Pedja Josifovic

Kerry Nordstrom

Seth Donohue

Anthony Robinson

License

MIT © Robert Reed, Pedja Josifovic, Kerry Nordstrom, Seth Donohue, & Anthony Robinson

Releases

No releases published

Packages

No packages published