Skip to content

Contribute to HydroCloud

Martin Roberge edited this page Jun 10, 2017 · 3 revisions

There are several ways that you can contribute to this project. If you have an idea for a feature, have a dataset you want to add, if you found a bug, or if you have a complaint, then the easiest way to contribute is to:

  • File an issue! This link will take you to the issue list. Click on the green 'New Issue' button, and explain as much as you can.

Another great way to help is to do a little coding and see what you can fix or add. If you have a GitHub account, then the first thing you'll want to do is to:

  • Fork this project! Go to the main HydroCloud page and click on the 'Fork' button in the upper right corner. This will create a copy of the HydroCloud repo into your own GitHub account where you can muck around with it to your heart's content. Nothing that you do to your copy will affect the original, so feel free to fork as many projects as you want. This is a great way to learn from others!

Whether you fork this repo or not, you are going to need to download the files to your own computer so that you can edit them locally. This is called:

  • Cloning the repository! Go to the main page for the repository that you want to clone. This could be the original repo, or better yet, use the fork located in your own GitHub account. Click on the Green 'Clone or Download' button on the upper right. The best way to start the download is to 'Open in Desktop', which uses GitHub's fabulous Git client software, or you can 'Download ZIP' if you have never heard of Git before and you just want to get your hands on the files.

Now that you have a local copy of the files, you will want to:

  • Edit the files! I personally have been using WebStorm as my IDE. It contains a built-in local webserver, works well, and has a free academic license. I've also happily used Aptana Studio and VS Code.

If you are interested in contributing your improvements to the larger project (it's easy!), you will need to use Git. If you are unfamiliar with this wonderful tool, GitHub makes it easy to learn with their excellent guides. If you are familiar with Git, then the next steps in quick secession are:

  • Create a Branch! You should try to only make one discreet improvement at a time, and give the branch a descriptive name, like Add-Australian-Stream-Gages or Calculate-more-statistics.
  • Commit Frequently! I try to make commits that are only a few lines long and which are connected logically. It's better IMO if the commit only affects one file at a time too. This makes it less likely that your commits will conflict with someone else's, and makes it easier to merge commits if they do. And make sure that your commit message explains what you did!

Finally, let everyone know that you are working on the project. To do this, simply:

  • Submit a Pull Request! There is no need to wait until your suggested changes are perfect, simply submit the pull request with a note that your fork is not ready to merge yet. The pull request will put your work on everybody's radar, and GitHub will provide a fancy forum for people to discuss your changes.