Contributor Guidelines

Our Expectations

We hope that contributing to this project will be a rewarding experience for all our contributors. Notice something that can be improved? Feel free to take a stab at it!

General testing practices and expectations:

  • Think about edge cases and failure scenarios.
  • Make sure you write unit tests for your work.
  • Run all of the unit tests (server, worker, client, and end-to-end) to verify everything is working before submitting a pull request.
  • Manually test your work to make sure things look good in the browser (i.e. localhost).

Getting Started

  1. Fork the repository on GitHub
  2. Clone the project
  3. Follow README on GitHub to set up local machine
  4. Begin Contributing!

Submitting Contributions

  1. If everything looks good, first update your fork to make sure it’s up to date with the master branch of the main repo.
    • Ensure your commit messages follow Conventional Commit Format
    • Please use rebase instead of merge to keep your commits on top of the work that has already been committed:
      • git fetch upstream (make sure you have already set the upstream to PDM GitHub Repo)
      • git rebase upstream/master
    • When you have a local commit, push it to your fork.
  2. Submit your pull request to the core repo. How to Create a Pull Request from a Fork
  3. A core team dev will then review the pull request. The code review itself will be done via GitHub pull request comments. They will let you know what, if anything, needs to be changed before final submission.
  4. Once your code has gone through the code review, the pull request will be approved and your code will be merged into master. At this point, you’re done and ready to contribute some more!

Creating a Pull Request

  1. Raise the pull request to master on the main repository
    • if changes includes a changes within instance-files, it should be indicated in the pull request description.
    • Make sure to fill out all the fields in the pull request template.
  2. Your changes should include unit tests that cover the changed functionality.

Suggesting a Feature/Enhancement

  1. Raise an issue in the Complaint Manager project using the feature request template.
    • Make sure to fill out the fields in the template ( the more information we have, the better ).
  2. Add needs-review and feature labels to the issue.

Reporting a Bug

  1. Raise an issue in the Complaint Manager project using the bug template.
    • Make sure to fill out the fields in the template ( the more information we have, the better ).
  2. Add needs-review and bug labels to the issue.

Joining the Community

Helpful Resources