PowerUp - iOS
PowerUp is an educational mobile game app that seeks to empower young girls to take charge of their reproductive health and self-esteem by navigating the life of their Avatar.
Setup for Developers
- Make sure you have Xcode IDE downloaded on your machine for software development for iOS.
- Fork the anitab-org project. Go to Powerup-iOS and click on Fork in the top right corner. Fork the repo on your Github id. Make sure that you don’t have any existing repo with the same name in your profile else there will be conflicts.
- Make sure you have installed Github Desktop(for Mac).
- Open Github Desktop, click on Clone Repository in File Menu. Clone the forked repo to get a local copy on your system.
- Fetch the latest version of code from the appropriate branch (usually "develop").
When a repository is cloned, it has a default remote called
origin that points to your fork on GitHub, not the original repository it was forked from. To keep track of the original repository, you should add another remote named
- Get the path where you have your git repository on your machine. Go to that path in Terminal using cd. Alternatively, Right click on project in Github Desktop and hit ‘Open in Terminal’.
git remote -vto check the status you should see something like the following:
- Set the
git remote add upstream https://github.com/anitab-org/powerup-iOS.git
git remote -vagain to check the status, you should see something like the following:
origin https://github.com/YOUR_USERNAME/powerup-iOS.git (fetch)
origin https://github.com/YOUR_USERNAME/powerup-iOS.git (push)
upstream https://github.com/anitab-org/powerup-iOS.git (fetch)
upstream https://github.com/anitab-org/powerup-iOS.git (push)
- To update your local copy with remote changes, run the following:
git fetch upstream develop
git rebase upstream/develop
This will give you an exact copy of the current remote, make sure you don't have any local changes.
- Project set-up is complete.
Contributing and developing a feature
- Make sure you are in the develop branch
git checkout develop.
- Sync your copy
git pull --rebase upstream develop.
- Create a new branch with a meaningful name
git checkout -b branch_name.
- Develop your feature on Xcode IDE and run it using the simulator or connecting your own iphone.
- Add the files you changed
git add file_name(avoid using
git add .).
- Commit your changes
git commit -m "Message briefly explaining the feature".
- Keep one commit per feature. If you forgot to add changes, you can edit the previous commit
git commit --amend.
- Push to your repo
git push origin branch-name.
- Go into the Github repo and create a pull request explaining your changes.
- If you are requested to make changes, edit your commit using
git commit --amend, push again and the pull request will edit automatically.
- If you have more than one commit try squashing them into single commit by following command:
git rebase -i origin/master~n master(having n number of commits).
- Once you've run a git rebase -i command, text editor will open with a file that lists all the commits in current branch, and in front of each commit is the word "pick". For every line except the first, replace the word "pick" with the word "squash".
- Save and close the file, and a moment later a new file should pop up in editor, combining all the commit messages of all the commits. Reword this commit message into meaningful one briefly explaining all the features, and then save and close that file as well. This commit message will be the commit message for the one, big commit that you are squashing all of your larger commits into. Once you've saved and closed that file, your commits of current branch have been squashed together.
- Force push to update your pull request with command
git push origin branchname --force.
Click here to find the contributing guidelines for the project and follow them before sending a contribution.
Documentation of PowerUp-iOS
Links to the Documentation:
You can reach the maintainers and our community on AnitaB.org Open Source Zulip. If you are interested in contributing to the PowerUp, we have a dedicated stream for this project #powerup, where you can ask questions and interact with the community, join with us!