Skip to content
This repository has been archived by the owner on Jun 3, 2023. It is now read-only.

Latest commit

 

History

History
108 lines (74 loc) · 3.78 KB

CONTRIBUTING.md

File metadata and controls

108 lines (74 loc) · 3.78 KB

These guidelines are here to help people collaborate, learn and contribute to a great Open Source Software project!

Submitting a bug

If you submit a bug please add a screenshot or description of the effect. Github knows to upload pictures from clipboard :). If you know the steps of reproducing the bug please share them.

Creating an issue

An issue must be specified so everyone who reads it and knows how People looks like, knows what must be done and why.

We want the issues to be specified this way in order to make any developer, new or with experience, understand the problem and implement it as good as he can.

A good starting template is this one. You can copy/paste it from here.

An example of the workflow is this one

Need

In order to <the benefit of the issue being solved>
As a <stakeholder e.g. developer, user, company, comunity member, etc.>
I want to <the feature/enhancement that needs to be implemented in the issue>

Deliverables

a list of high end benefits that will be delivered when the issue is completed.

examples:

  • World Peace and harmony
  • An ending to World Hunger

Prerequisites

If you already know parts of the code or documents that could help a developer get to the deliverables share them here. You can add documents, blogposts, links to code.

Solution

If you know the basic steps of implementing it, share with others!

Working on an issue

You already have an issue that follows the format mentioned above and you want to start coding.

To help others understand how you approached the problem please update the issue with a small description of the solution. If you encounter problems, please share them in the comments.

We follow some conventions for writing code. They are:

Spend some time reading them before jumping into coding, they will help you write better code.

Git, hub and magic

In order to have the code linked with the issue it solves the following flow is preffered.

You don't have access to this repo.
  • Fork this project and add the upstream remote. Detailed instructions are found here

Basic steps

  • Create a branch named {{issue_number}}-small-description-of-issue
$ git checkout -b 42-end-to-world-hunger
  • Start working on the issue.
  • Use commits that make only one change. Include the issue number in the commit.
$ git commit -m "Give food to random strangers #42"
  • Push to a remote branch named as the local one. Please use the explicit push command.
$ git push origin 42-end-to-world-hunger
  • You think you are done. Run the tests suite
./manage.py test
  • If nothing fails, create a pull request on the issue you are trying to solve.

  • Ask for a code review using @reviewer_name tags in comments

  • If the pull request can't be merged please rebase the master branch into your branch. You should this before you open the pull request and running the tests, just in case. How to:

  • If working on a fork

$ git fetch upstream
$ git merge upstream/master
$ git checkout 42-end-to-world-hunger
$ git rebase master
  • If working on the rosedu repo
$ git fetch origin
$ git merge origin/master
  • More info on rebase in case you have conflicts etc.

  • Congratulations! You have made a contribution to this project!