Skip to content

Latest commit

History

History
105 lines (67 loc) 路 3.39 KB

CONTRIBUTING.md

File metadata and controls

105 lines (67 loc) 路 3.39 KB

Contributing to Pine Payment Server

We're glad that you'd like to help us make Pine even better. But first, read these guidelines and instructions.

Setting up the environment

Install Node.js and npm

Install Node.js (v8) and npm by following the instructions on nodejs.org.

Clone the repository

$ git clone https://github.com/blockfirm/pine-payment-server.git
$ cd pine-payment-server

Install dependencies

$ npm install

Start the API server in development mode

$ npm run dev

Coding conventions

Follow the coding conventions defined in .eslintrc. Run npm run lint to verify that your code follows the rules.

EditorConfig

Use EditorConfig so that your code automatically comply with our coding style.

Submitting pull requests

When submitting pull requests, please follow these rules:

  • Make sure there isn't another pull request that already does the same thing
  • Make sure you've followed our coding conventions
  • Provide tests for your code
  • Run the tests before submitting
  • Follow the commit message conventions
  • Rebase your commits if possible
  • Refer to a GitHub Issue
  • Include instructions on how to verify/test your changes
  • Include screenshots for GUI changes

Commit message conventions

  • Briefly describe what your changes does
  • Use the imperative, present tense: "change" not "changed" nor "changes"
  • Capitalize the first letter
  • No dot (.) at the end

Testing

We're using Mocha to test all JavaScript code. Always run the tests before and after you start changing the code. This will ensure high quality of the code. Also write new tests when needed and be sure to follow our test conventions when writing them.

$ npm test

Testing conventions

  • Put all tests in the test folder with the same folder structure as in src/
  • Give the file the same name as the file under test, but append .test, e.g. App.test.js
  • If you are unsure, read this post on how to write good unit tests

Code coverage

Aim for 100% code coverage when writing tests. Run the following command to display the current code coverage:

$ npm test

Releases

We're using the Semantic Versioning Specification when releasing new versions.

Roadmap

We're using Issues on GitHub to plan our milestones. That include new features as well as bug fixes.

Reporting security issues

We appreciate all security related reports. Please send them to timothy@blockfirm.se.

Reporting bugs

To report a bug or another issue, please submit a new issue on GitHub.

Describe your issue with steps of how to reproduce it, and if not obvious, what the expected behavior should be. Also include information about your system (e.g. version and OS) and your setup.

Discussion and feedback

Use the Telegram group or GitHub Issues for general discussions. Tag your issue as a Question. You can also tweet us at @pinewalletco.