1.0.0 • Published 7 years ago
emoji-feedback-tool v1.0.0
Emoji-Feedback 😀 😞 😕 👍 👎 (in active development)
A delightful tool for eliciting feedback via emojis, featuring a feedback form. 0 dependencies, written in pure vanilla JavaScript.
Getting Started
These instructions will get you a copy of the project up and running on your local machine.
Prerequisites
- Install Node 8.0.0 or greater.
- Install Git.
Installing and Setup
- First, clone this repo. git clone https://github.com/ubc/emoji-feedback.git
- Then cd into the repo. cd emoji-feedback
- Run the installation script. npm install(If you seebabel-node: command not found, you've missed this step.)
- Run using npm start. Webpack Dev Server will host a hot-loading webpage.
- To build for production, npm run buildwill output the production-ready, minified, tree-shaken bundle in/dist.
Usage
Emoji-Feedback can be configured in index.js by importing app.js and instantiating it.
A very basic config is outlined below:
import css from './index.css'
import controller from './app'
const emojiFeedback = controller()
const endpoints = {
  emoji: 'http://127.0.0.1:5000/emoji',
  feedback: 'http://127.0.0.1:5000/feedback',
  votes: 'http://127.0.0.1:5000/votes'
}
emojiFeedback.init('entry', endpoints)emojiFeedback has one method, init.
It takes 3 arguments: entry, endpoints, options
- entryis the HTML id attribute that should be unique to the document. This is the entry point of Emoji Feedback.
- endpointsis an object that contains 3 endpoints- emoji,- feedbackand- votes.- emojiand- feedbacksend POST requests that contain the selected emoji(s) and the written feedback in the body of the request, respectively.- votessends a GET request for retrieving the number of times students have voted.
- optionsis an optional object that contains- introText,- feedbackTextPromptand- feedbackThankYou, which allow for configurations of the text.
Tests
To run the tests, first ensure that the application is running locally (npm start), then npm test will run the Jest unit and UI tests (in Puppeteer's headless mode).
Code coverage is >90%, and more tests will be added over time.
1.0.0
7 years ago
