Skip to content

Contributor's Guide

selvatp edited this page Mar 27, 2019 · 10 revisions

This wiki lays out guidelines and advice for contributing to HubListener. As a contributor, it would be helpful if you please start by reading these pages to get a feel for how HubListener's contributions should work. If you have any questions or suggestions, feel free to reach out to Zed Ahmad.

Getting Started

Follow the Quick Start guide to create a working HubListener environment.

Please read the HubListener Development Plan to familiarize yourself with our team, schedule, workflow and coding style requirements.

ZenHub

In addition to following the Quick Start guide, contributors will need to connect to ZenHub using their GitHub credentials.

Once you are connected, find pjmc-oliveira/HubListener under "open source repos" to view the ZenHub project board.

The ZenHub Project Board is used to track issue dependencies and effort as story points.
1 story point is defined as 1 hour of estimated work.

Issue Tracking

  • All issues should be assigned relevant labels, assignees and should be opened with a meaningful comment.
  • New issues should be assigned dependencies and story points through ZenHub.
  • Issues should be closed before the end date of the assigned sprint
  • Issue status should be managed on the HubListener GitHub main project board. The ZenHub project board will be automatically updated to reflect these changes.
  • Issues should be closed with a descriptive comment

LaTeX

HubListener documentation is written in LaTeX and compiled to several formats.
You can use whatever TeX environment you are comfortable with. We suggest downloading MiKTeX and TeXworks.

JSDoc

We use JSDoc to generate our API / structure documentation.
To learn more about using JSDoc in your code, visit http://usejsdoc.org.

To simplify JSDocs generation, we have created a dev script, dev.js, that will watch for changes and compile the new documentation when necessary.
To run the script, navigate to src in your terminal of choice, and execute npm run dev.

Generated JSDoc files should be added to .gitignore.

Automated Testing - AVA

We use AVA to accomplish our Automated Unit Testing. To learn more about using AVA, visit https://github.com/avajs/ava

To run the automated testing, run "npm test" from the src directory.

WebUI Setup

Server Setup

To set up the server for Web Client you should do one of the two below options :

  1. NODEMON
    Navigate to src in your terminal of choice, and execute npx run index.js. This is will launch the server. Any change you make to the source code will restart the server

  2. NODE
    Navigate to src in your terminal of choice, and execute npm start.

Web Client Launch

Once the server has been setup, you are ready to launch. To launch the Web Client, simply open a web browser of your choice and enter into your address bar: localhost:8080/index.html

Clone this wiki locally