Skip to content

Latest commit

 

History

History
102 lines (62 loc) · 6.58 KB

CONTRIBUTING.md

File metadata and controls

102 lines (62 loc) · 6.58 KB

Contributor guidelines

Thank you for investing your time in contributing to our project! Please read our Code of Conduct to keep our community approachable and respectable.

Table of Contents

  1. Tech Stack
  2. Collaboration workflow
  3. Submit a Pull Request and guidelines
  4. Contact us

Tech Stack

If you are looking to help to with a code contribution, our project uses Android as our OS, Realm as our local database, Java (Kotlin in the near future) as our developing language and Git for collaboration. If you don't feel ready to make a code contribution yet, no problem! You can help us out with documentation issues or UI design issues. If you are interested in making a code contribution and would like to learn more about the technologies that we use, check out the list below.

  • Realm - Realm is a fast, scalable alternative to SQLite for mobile development.
  • Android - The operating system inside 2.5 billion active devices.
  • Java SE - Java SE and component technologies offer a rich user interface, performance, versatility, portability, and security.
  • Git - Git is easy to learn and has a tiny footprint with lightning fast performance.

Collaboration workflow

By now, you should have a copy of the project on your local machine. If not, take a look at the README for instructions. This quick rundown introduces Git and the command line to beginners. If you are an experienced collaborator/programmer, more power to you!, you can skip this part and head over to Submit a Pull Request and guidelines

Before moving on, open the terminal and type the command git remote add upstream https://github.com/ucfcs/GrowthPlus.git to track the original project.

add upstream

Create a new branch for your issue

Find an issue/feature that you are interested in addressing. Create a new branch for your fix, from the terminal type git switch -c yourNewBranchName , this will create a new branch and run the git checkout command right away.

git switch

Save changes to your branch

Make the appropriate changes for the issue you are trying to address or the feature that you want to add and then follow these commands: git status shows you the state of the project files, this is usefull because you do not need to add files that Android Studio generates for your local enviroment.

git status

git add <file-name> simply stages files so they can be committed.

git add

git commit -m "Message here" commits your files and completely saves your progress to your branch, it is normal to have multiple commits in a branch, in fact, it is recommended to commit your progress throughout your coding session. Include a short descriptive message of your progress.

git commit

git push -u origin <branch-name> pushes your committed changes to the remote repository, the origin parameter will push to the repository the project was cloned from, in this case, it's the project's copy that is in your github.

git push

Sync the forked project

Before submitting a pull request, make sure your forked copy is to up date with the original project. Fetch the lastest changes with git fetch upstream

git fecth upstream

git checkout main to go back to the main branch in your local repo.

checkout to main

git merge upstream/main, merges the changes from upstream/main branch to your local main branch, this brings your fork's main branch into sync with the upstream repository, without losing your local changes.

git merge upstream main

In the local main branch, git push updates your remote forked copy. Go back to the working branch, git checkout <branch-name>

Merge your branch with the main branch

git merge main combines the changes of the main branch and your working branch, this is why we update the main branch with the latest changes before merging with your branch's progress, you must ensure that your working branch is up to date to avoid merge conflicts when doing a pull request.

git merge main

Submit a Pull Request and guidelines

Great Job!, if you are done with your implementation, it is time to submit a pull request. If you recently pushed your changes to your own forked repository, click the Compare & pull request green button.

compare and pull request

In the Write tab:

  • Include a brief description about your pull request, what issue or feature are you addressing and how you fixed it.
  • Provide testing instructions, what should the reviewers be looking for? , be as detailed as possible.
  • Include the following script ucfcs/GrowthPlus #<issue-number> at the very end, this will refer and close the specific issue you were working on.
  • Finally, click Create pull request

open PR

What happends now?, each pull request needs two approvals from the maintainers. If a pull request does not pass the testing steps or does not function as it should, it is the responsibility of the reviewer to document the issues and it is the responsibility of the owner of the pull request to fix it and push new changes.

Contact us

For any enquiries, contact us at [email protected]. If you need help with programming or are stuck somewhere, write a comment in the issue that you are working, a maintainer will try to address it as soon as possible.