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.
- Host: GitHub
- URL: https://github.com/ajibs/votaholic
- Owner: ajibs
- License: other
- Created: 2017-09-29T17:37:04.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-01-02T08:45:27.000Z (over 8 years ago)
- Last Synced: 2025-10-09T02:44:17.493Z (9 months ago)
- Topics: ejs-templates, javascript, mongodb, nodejs, voting-application
- Language: HTML
- Homepage: https://votaholic.herokuapp.com
- Size: 1000 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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