Phimpme is an Android app for editing photos and sharing them on social media. To participate in project start by learning how people contribute in open source, learning about the version control system Git and other tools like Codacy and Travis.
Firstly, sign up for GitHub. Secondly, find the open source projects that interest you. Now as for me I started with Phimpme. Then follow these steps:
- Go through the project ReadMe.md and read all the technologies and tools they are using.
- Now fork that repo in your account.
- Open the Android Studio/Other applications that are required for that project and import the project through Git.
- For Android Studio sync all the Gradle files and other changes and you are all done and ready for the development process.
Install the app and run it on a phone. Now explore each and every bit use this app as a tester, think about the end cases and boundary condition that will make the app ‘ANR’ (App not responding) dialog appear. Congratulations you are ready to create an issue if that is a verified and original and actually is a bug.
Next,
- Navigate to the main repo link, you will see an issues section as follows:
- Create a new issue and report every detail about the issue (logcat, screenshots) For eg. Refer to Issue-1120
- Now the next step is to work on that issue
- On your machine, you don’t have to change the code in the development branch as it’s considered to be as a bad practice. Hence checkout as a new branch.
For eg., I checked out for the above issue as ‘crashfixed’
git checkout -b "Any branch name you want to keep"
- Make the necessary changes to that branch and test that the code is compiling and the issue is fixed followed by
git add. git commit -m "Fix #Issue No -Description " git push origin branch-name
- Now navigate to the repo and you will an option to create a Pull Request.
Mention the Issue number and description and changes you done, include screenshots of the fixed app.For eg. Pull Request 1131.
Hence you have done your first contribution in open source while learning with git. The pull request will initiate some checks like Codacy and Travis build and then if everything works it is reviewed and merged by co-developers.
The usual way how this works is, that it should be reviewed by other co-developers. These co-developers do not need merge or write access to the repository. Any developer can review pull requests. This will also help contributors to learn about the project and make the job of core developers easier.
Resources
- Understanding the GitHub flow: https://guides.github.com/introduction/flow/
- Hello World: https://guides.github.com/activities/hello-world
- 15 Minutes to learn Git: https://try.github.io/levels/1/challenges/1