An open API service indexing awesome lists of open source software.

https://github.com/ajibs/votaholic

Votaholic allows you connect with your audience by allowing users create polls and users can vote on polls.
https://github.com/ajibs/votaholic

ejs-templates javascript mongodb nodejs voting-application

Last synced: 2 months ago
JSON representation

Votaholic allows you connect with your audience by allowing users create polls and users can vote on polls.

Awesome Lists containing this project

README

          

# Votaholic
Votaholic allows you connect with your audience by allowing users create polls and users can vote on polls.

Votaholic is a [FreeCodeCamp](https://www.freecodecamp.org/) Project.

## Feature List
* Create as many polls as you like.
* Vote on polls (user can only vote once per poll; based on user IP address).
* Displays all polls on the app.
* View details of a poll.
* View all the polls you have created.
* Authenticated user can create a custom option on a poll
* Signup, Login and Logout of the app.

## Getting Started
Votaholic is hosted on heroku and can be accessed here:
- [Production](https://votaholic.herokuapp.com/)

## Prerequisites
These are what you need installed on your computer to use the application:

- Web Browser (Chrome, or Mozilla, or Safari, or Opera, or Microsoft Edge )

#### For Developerss:
- [Git](https://git-for-windows.github.io/)
- [Node.js](https://nodejs.org/en/download/)
- [MongoDb](https://www.mongodb.com/download-center#community)
- [Yarn](https://yarnpkg.com/en/docs/install)

## Setup
#### Local Copy
To create a local copy, run the following in your terminal:
```bash
git clone https://github.com/ajibs/votaholic.git
```
Then change into the local directory, run the following in your terminal:
```bash
cd votaholic
```

#### Install Node.js and Yarn
If you don't have Node.js installed, please go ahead and grab it [here](https://nodejs.org/).

Yarn is a package manager for Node.js and can be installed from [here](https://yarnpkg.com/en/docs/install).

To confirm that you have Node.js installed, run the following in your terminal:
```bash
node -v
```
You should get something like `v8.9.1`.

To confirm that you have Yarn installed, run the following in your terminal:
```bash
yarn -v
```
You should get something like `1.3.2`.

#### Setup Database and .env file
You can setup a database on [mlab](https://mlab.com/). You should also create a `.env` file using `.env.sample` as a prototype.

#### Install Node.js Modules
To install all dependencies, run the following in your terminal:
```bash
yarn
```

## Development
To kickstart the application, run the following in your terminal:
```bash
node server.js
```

## Built With

- [Git](https://git-scm.com/) - Version Control
- [Node.js](https://nodejs.org/) - JS Runtime Environment
- [Yarn](https://yarnpkg.com) - Package Manager
- [Express](https://expressjs.com/en/starter/installing.html) - Web Framework
- [EJS](http://ejs.co/) - Templating Engine
- [mLab](https://mlab.com/) - Database
- [Heroku](www.heroku,com) - Hosting and Continuous Deployment
- [VS Code](https://code.visualstudio.com/) - Code Editor
- [Chrome](https://www.google.com/chrome/browser/desktop/index.html) - Browser

## Author

* [Bolu Ajibawo](https://github.com/ajibs)

## Acknowledgments
* [FreeCodeCamp](https://www.freecodecamp.org/)
* [Chingu](https://chingu-cohorts.github.io/chingu-directory/)
* Red Pandas
* Developer Community
* Family
* Friends