emoji-feedback-tool

1.0.0 • Public • Published

JavaScript Style Guide tested with jest gzipped_size javascript

Emoji-Feedback 😀 😞 😕 👍 👎 (in active development)

Working Prototype GIF of App

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

  1. Install Node 8.0.0 or greater.
  2. Install Git.

Installing and Setup

  1. First, clone this repo. git clone https://github.com/ubc/emoji-feedback.git
  2. Then cd into the repo. cd emoji-feedback
  3. Run the installation script. npm install (If you see babel-node: command not found, you've missed this step.)
  4. Run using npm start. Webpack Dev Server will host a hot-loading webpage.
  5. To build for production, npm run build will 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

  • entry is the HTML id attribute that should be unique to the document. This is the entry point of Emoji Feedback.
  • endpoints is an object that contains 3 endpoints emoji, feedback and votes. emoji and feedback send POST requests that contain the selected emoji(s) and the written feedback in the body of the request, respectively. votes sends a GET request for retrieving the number of times students have voted.
  • options is an optional object that contains introText, feedbackTextPrompt and 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.

Readme

Keywords

none

Package Sidebar

Install

npm i emoji-feedback-tool

Weekly Downloads

0

Version

1.0.0

License

ISC

Unpacked Size

516 kB

Total Files

18

Last publish

Collaborators

  • justin0022