Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yusufshakeel/votejs
This is a voting application using NodeJS.
https://github.com/yusufshakeel/votejs
Last synced: 19 days ago
JSON representation
This is a voting application using NodeJS.
- Host: GitHub
- URL: https://github.com/yusufshakeel/votejs
- Owner: yusufshakeel
- License: mit
- Created: 2020-07-20T05:37:23.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-11T03:32:24.000Z (about 2 years ago)
- Last Synced: 2024-12-10T10:31:26.365Z (about 2 months ago)
- Language: JavaScript
- Size: 1.57 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# votejs
This is a voting application using NodeJS.[![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/yusufshakeel/votejs)
[![npm version](https://img.shields.io/badge/npm-0.1.7-blue.svg)](https://www.npmjs.com/package/votejs)
[![Build Status](https://travis-ci.com/yusufshakeel/votejs.svg?branch=master)](https://travis-ci.com/yusufshakeel/votejs)
[![Coverage Status](https://coveralls.io/repos/github/yusufshakeel/votejs/badge.svg?branch=master)](https://coveralls.io/github/yusufshakeel/votejs?branch=master)## Prerequisite
We will need the following to be installed on our system.
- Node v10 or above
- NPM v6 or above
- Postgres v10 or above## Getting started
Run the following command to install all the packages.
```
➜ npm install
```#### Environment
Set the environment by setting the environment variable `NODE_ENV`.
Allowed values: dev, stage, prod
```
➜ export NODE_ENV=dev
```#### Encryption Key
Set the encryption key as environment variable. Make sure it is exactly 256 bits long (32 characters).
```
➜ export ENCRYPTION_KEY=crypto-key-exactly-32-chars-long
```
Note! Encryption algorithm used: `aes-256-cbc` and IV length is `16`.#### Database setup
Create a database in Postgres. Then export the following environment variables.
On my local machine the host, user, password, database and port for Postgres are the following.
Note! If you have some other values then use that.
```
➜ export DB_HOST=localhost
➜ export DB_USER=
➜ export DB_PASSWORD=
➜ export DB_DATABASE=votejs
➜ export DB_PORT=5432
```For more details check the [NOTES.md](./NOTES.md) file.
#### Seed
Run the following command to insert the seed data in database.
```
➜ npm run db:seed
```#### Demo admin for DEV environment
For development environment the following demo admin account is created when you run the `db:seed` command.
You can use the demo admin to explore the APIs in dev environment.
```
{
userName: 'demo.dev.admin',
emailId: '[email protected]',
password: 'root1234'
passcode: '123456'
}
```
You will find this in `seed/admin.js` file.#### Demo voter for DEV environment
For development environment the following demo voter account is created when you run the `db:seed` command.
You can use the demo voter to explore the APIs in dev environment.
```
{
userName: 'demo.dev.user',
emailId: '[email protected]',
password: 'root1234'
passcode: '123456'
}
```
You will find this in `seed/voter.js` file.## DOCUMENTATION
[DOCUMENTATION.md](./DOCUMENTATION.md)
## License
It's free :smiley:[MIT License](https://github.com/yusufshakeel/votejs/blob/master/LICENSE) Copyright (c) 2020 Yusuf Shakeel
#### Back this project
If you find this project useful and interesting then feel free to support me on [Patreon](https://www.patreon.com/yusufshakeel).
#### Donate
Feeling generous :smiley: [Donate via PayPal](https://www.paypal.me/yusufshakeel)