How To Contribute

  1. Choose an issue

    To get started, please feel free to start working on any issues we have created and that are not assigned to anyone yet. If you would like to pick up an issue, please leave a comment for the other contributors to see that this issue is already be worked on.

    For starters, we recommend to pick up issues labelled good first issue.

  2. Get setup

    1. Fork the repository
    2. Clone your forked repository onto your local machine
    3. inside your CLI (Command Line Interface), move into your working directory
    4. run `npm ci` inside the root, client *and* server folder to install all dependencies needed for this project
    5. inside the client folder, run `npm run dev` to start the development server
  3. Create a branch for your feature

    Below you can find an overview of the branches we are using.

    - master (protected) - dev (protected) - documentation - feature -- feature/FEATURE-NAME --- feature/#<Issue Number>_<little feature title> --- feature/#<Issue Number>_<little feature title> --- feature/#<Issue Number>_<little feature title> - bugfix (fixing issues that are not urgent) - hotfix (fixing issues that need to be merged ASAP)

    An example for a ToDo list feature could look as following:

    -- feature/#1_todo-list
  4. Add your code

  5. Create a Pull Request

    For consistency and easier readability, we would like to ask everyone to use the templates for Pull Requests and Issues that we provide. They follow this pattern:

    <subject> (A title to summarise what this is about) <body> (A detailed description of your PR, feature idea or issue) Resolves #ISSUE_NUMBER

    Note: It is important to add the #number for the issue the PR is resolving in order to close the issue accordingly once the PR getsmerged. You can read more about this here

Resources

If you have any questions please comment on the issue you’re working on. Or for something more general join in on our Chingu Discord chat - #chinguquiz-contributors