Skip to content

New Contributors Guide

octomatic edited this page Feb 10, 2019 · 18 revisions

Introduction

Hello new contributors, and welcome to dexbot. We are a group that works on open source market making with the Bitshares DEX. Before you get started, please observe the following:

For general information about Dexbot please visit the Website

If you would like to get involved you can join us in the Telegram Dexbot Chat Room and for new contributors, where you can ask questions and get help.

Information about the Worker Proposal 2 that is funding this project can be found here

Key project members are:

  • Project Manager: @permie
  • Lead Developer: @octomatic
  • Supporting Developer: @vvk123
  • Build Maintainer: @joelva
  • Quality Assurance : [ Role is open ]

Contributor Covenant Code of Conduct

Please see https://github.com/bitshares/bitshares-ui/blob/develop/CODE_OF_CONDUCT.md This Code of Conduct is adapted from Bitshares-UI and the Contributor Covenant, version 1.4

Development Process

This project cycle, is from January 1, 2019 - June 30, 2019. The roadmap for this cycle can be viewed in the Dexbot Workflow spreadhseet.

Request a feature

  1. Check in issues if someone already has requested the feature
  2. Create a new issue where you describe the feature

Report a bug

  1. Check in issues if someone already has reported the bug
  2. Create a new issue with a descriptive name.
  3. Describe how to reproduce the bug. If possible, use images or GIF's.

Participate in development

The General process is as follows : sprint -> review & merge -> release

  • Build Releases are on an as needed basis and will be announced by the project manager. We currently estimate that builds to be released on a bi-weekly basis.
  • Release Candidates sits 1-2 weeks for evaluation by the public before release
  • Bugs are always worked before enhancements
  • Developers should work each issue according to a numbered branch corresponding to the issue git checkout -b 123-fix-gui-button which would refer to issue 123.
  • We pay bounties for issues that have not been claimed. If you fix this issue according to these guidelines and your PR is accepted you will earn << bitUSD or bitCNY >> ??? help, permie please
  • If you are new, please review the issues have been tagged 'Good First Issue'
  • To claim an issue, simple leave a comment with the request to work on it and your hours estimate. Alternatively, contact the project manager on telegram
  • If an issue is already claimed (assigned), do not attempt to claim it. Issues claimed by outside developers will have no assigned dev, but have the developers name in brackets. Do not claim an issue if you will be unable to complete it by the date indicated on the Milestone name. If an issue missed the intended milestone completion, be sure to make a comment on your progress including the reason for the delay. The issue is pushed to the next milestone. Failing to comment or complete the issue once more will result in release of the assigned issue.

Here are a list of the ongoing projects and bug sprints

Bug fix sprint

An example can be found here (https://github.com/Codaone/DEXBot/projects/5)

Other supporting activities

Can you contribute

  • documentation?
  • UX?
  • strategies?
  • data analysis?
  • graphics?
  • infographs?
  • videos?
  • user help?

Reach out to the project group in Telegram. We are prepared to pay for meaningful contributions.

Coding style guideline

Our style guidelines is based off of the PEP-8 Standard https://www.python.org/dev/peps/pep-0008/ with a few exceptions:

  • Lines do not need to be strictly 80 characters, up to 120 characters accepted.
  • make generally readable code, e.g. avoid using short one letter variables and instead use something more descriptive.
  • git commit style guideline - https://chris.beams.io/posts/git-commit/

If you wish to use an IDE, we recommend PyCharm. There are also many PEP-8 standard code verifiers should you wish to use a different IDE.

Coding guidelines in general:

  • Keep it simple. Try to think about development for future maintenance.
  • Write unit tests where necessary
  • Please contact the project manager and developers first if you wish to use new libraries or packages that are newer than the current project implementations.
  • Use setuptools, setup.py and requirements.txt accordingly for new package additions

Build environments

We strongly encourage the use of virtualenv for your local development environment. For more about how to use virtualenv with python 3.6 please see

Git Workflow

see https://github.com/Codaone/DEXBot/wiki/Git-Workflow