https://github.com/jexia/pollapp
✔️Example application: Pollapp is a Survey/Voting/Polling application which contains a JS web widget and an Admin Panel for managing Polls.
https://github.com/jexia/pollapp
Last synced: 3 months ago
JSON representation
✔️Example application: Pollapp is a Survey/Voting/Polling application which contains a JS web widget and an Admin Panel for managing Polls.
- Host: GitHub
- URL: https://github.com/jexia/pollapp
- Owner: jexia
- License: mit
- Created: 2019-12-06T09:26:33.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-11T16:13:37.000Z (almost 3 years ago)
- Last Synced: 2025-06-09T01:36:29.879Z (4 months ago)
- Language: JavaScript
- Homepage:
- Size: 1.67 MB
- Stars: 1
- Watchers: 12
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://runme.io/runme?repo_url=https://github.com/jexia/pollapp.git&repo_branch=master)
# Polling/voting system.
This Poll example appliction allows you to ask your site visitors an unlimited number of questions, from an
unlimited number of respondents. You add the web widget snippet in your website and your site is ready to go.To create your polls you get an admin panel to mannage all your Polls. Every created Poll will generate automaticly
a widget snippet code which you can put in a website.[Live Demo](https://88fccaba-a957-4aa4-a455-dbd9325a42c4.jexia.app/admin)
## How to achieve using Jexia
Create a project in your Jexia account.
Create a dataset with or without fields with name Polling, then create API key and create a policy.## Implementation
This app is built using Vue.js, Vuex and Vuetify technologies as well as Jexia JavaScript SDK.
Made with Jexia features:## Features
- Admin panel for polls management and reports
- Javascript web widget snippet generator
- Jexia:
- Project integration
- Dataset CRUD operations
- Authentication service## Built With
### Dependencies
| Name| Description | |
|--|--|:--:|
|[body-parser]|Node.js body parsing middleware|📚
|[cors]|Node.js CORS middleware|📚
|[express]|Fast, unopinionated, minimalist web framework|🎨
|[jexia-sdk-js]|Awesome Jexia Javascript SDK|🐝
|[node-fetch]|A light-weight module that brings window.fetch to node.js|🛠️
|[ws]|Simple to use, blazing fast and thoroughly tested websocket client and server for Node.js|🛠️## Installation & Setup
### Clone repository
```
git clone git@github.com:jexia/pollapp.git
cd pollapp
```### Install dependencies
```
npm install
```
### Setup Jexia project
```
1. Create project
2. Create dataset named [questions] with these fields:
[
{
"field_name": "question",
"field_type": "string",
"is_required": "true"
},
{
"field_name": "order",
"field_type": "integer",
"is_required": "true"
},
{
"field_name": "poll_uuid",
"field_type": "string",
"is_required": "true"
},
{
"field_name": "skipped",
"field_type": "boolean",
"is_required": "false"
}
]
3. Create dataset named [answers] with these fields:
[
{
"field_name": "question_uuid",
"field_type": "string",
"is_required": "true"
},
{
"field_name": "answer",
"field_type": "string",
"is_required": "true"
},
{
"field_name": "result",
"field_type": "integer",
"is_required": "true"
},
{
"field_name": "poll_uuid",
"field_type": "string",
"is_required": "true"
}
]
4. Create dataset named [polls] with these fields:
[
{
"field_name": "message",
"field_type": "string",
"is_required": "true"
},
{
"field_name": "name",
"field_type": "string",
"is_required": "true"
}
]
5. Create API-key
6. Create CRUD policy for all users and all datasets
7. Update the code with your host-id, project-id, API-key and API-secret```
### Compiles and hot-reloads for development
```
npm start
```### Compiles and minifies for production (branch frontend)
```
npm run build
```### Lints and fixes files
```
npm run lint
```
## License
[MIT](./LICENSE) © jexia