"Llop, polls made easy" is a voting poll web application that assists users in decision making. Llop offers a simple and intuitive user interface and useful features including email notification and link sharing.
This project uses JavaScript, HTML, CSS, jQuery, and AJAX in the front-end and Node, Express, PostgresSQL, and Knex in the back-end.
- Users can create a poll by entering a valid email address and their name.
- Poll creators must enter a question and at least two options in order to successfully create a poll.
- Two links will be generated and sent to the inbox of the poll creaters after a poll creation: one for the results page, one for the voting page.
- Poll creators can share the voting link to get votes to the poll.
- On the poll page, voters can rank their choices using the drag and drop interface.
- When a vote has been submitted, the poll creator will receive an email that gives the voting detail and a link to the results page.
- Fork this repository and create a local clone of your fork.
- Install the dependencies(described at the end) using the
npm install
command. - Follow the format of
.env.example
and create a.env
file. Enter the configurations in the.env
file (you need to set up a postgres database for the project and a valid sendgrid API key for the email notification feature). - Start the web server using the
npm run local
command. The app will be served as it is configurated. - Go to the address
localhost:8080
in your browser or go to http://llop.herokuapp.com/.
Otto Hu
Donald Ma
Ti Zhang
Caitlin Quon
- Node 5.10.x or above
- NPM 3.8.x or above
- Sendgrid: 1.9.2
- Knex 0.1.0 or above
- Morgan 1.7.0 or above
- Nodemon 1.9.2 or above
- ejs 2.4.1 or above
- express 4.13.4 or above
- dotenv