Skip to content

jexia/pollapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Runme

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

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 © jexia

About

✔️Example application: Pollapp is a Survey/Voting/Polling application which contains a JS web widget and an Admin Panel for managing Polls.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published