It has been more than 4 months and still, it feels like the beginning. Time has flown away and eventually, we all have come to the end of this year's Google Summer of Code programme.
I think I have made some great progress during my internship period and below, you all can find the summary of what I have done in this project.
OpenMRS Android Client 3.x Project
- Primary mentor: Shivang Nagaria
- Backup mentor: Avijit Ghosh
- Student: Chathuranga Muthukuda
- Project wiki: https://wiki.openmrs.org/display/projects/OpenMRS+Android+Client+3.x+Project
This project was basically targeted the Android client of the OpenMRS system and IT has a lot of useful features in parallel to the web application where users can easily use the features using their Android smartphones.
The main objectives of this project were to improve the existing Android client by doing various feature implementations and bug fixes.Since it was an Android project I was mainly involved in developing, using Java programming language with the help of Android SDK.
While working in the objectives, My mentor Shivang was very helpful and we had skype calls frequently to discuss the progress of the project and he was always guiding me to the correct path by suggesting new ways to overcome some hard obstacles I have faced during my developments.
Other than my mentor Daniel Kayiwa was also very helpful as usual to solve some general problems regarding the system. I thank them both because without their help I may not be able to come this far.
Main Objectives
- Provider Module Implementation
- Visual Improvements:
- Make improvements to the way that charts are being displayed
- Progress Dialog Improvements
- Replace RangedEditText with seekbar
- Use TextInputLayout instead of the normal EditText
- Security Improvements:
- Encrypt the database using the details derived from the username and password of the user
- Password Change detection and log out the user
- Forgot password option
- Application tour
- OpenMRS Analytics tool implementation
Since the project was actively developed by the opensource developer community, It was implemented as a Github repository.
All the issues and features were solved as a separate branch and then Pushed to the main repository by creating a pull request to review the code to mentors.
PR list
- https://github.com/openmrs/openmrs-contrib-android-client/pull/421
- https://github.com/openmrs/openmrs-contrib-android-client/pull/424
- https://github.com/openmrs/openmrs-contrib-android-client/pull/425
- https://github.com/openmrs/openmrs-contrib-android-client/pull/426
- https://github.com/openmrs/openmrs-contrib-android-client/pull/427
- https://github.com/openmrs/openmrs-contrib-android-client/pull/428
Additional Resources
Proposal Link: https://docs.google.com/document/d/1pZJh31-xAoQozURHFm_g8LBcCrnUGyA_A1n847OdKFQ/edit?usp=sharing
Blog posts
- http://easyprogramminglk.blogspot.com/2018/05/im-google-summer-of-code-student-this.html
- http://easyprogramminglk.blogspot.com/2018/05/first-week-of-my-google-summer-of-code.html
- http://easyprogramminglk.blogspot.com/2018/05/coding-continues.html
- http://easyprogramminglk.blogspot.com/2018/06/ui-improvements-to-create-better-user.html
- http://easyprogramminglk.blogspot.com/2018/06/progress-dialog-improvement.html
- http://easyprogramminglk.blogspot.com/2018/06/ui-improvements-continues.html
- http://easyprogramminglk.blogspot.com/2018/06/wow-its-almost-6th-week.html
- http://easyprogramminglk.blogspot.com/2018/07/finalizing-ui-improvements.html
- http://easyprogramminglk.blogspot.com/2018/07/8th-week-of-gsoc.html
- http://easyprogramminglk.blogspot.com/2018/07/improving-security-features.html
- http://easyprogramminglk.blogspot.com/2018/07/10th-week-of-gsoc.html
- http://easyprogramminglk.blogspot.com/2018/07/finalizing-security-features.html
- http://easyprogramminglk.blogspot.com/2018/08/final-week-of-gsoc.html
Mid-term presentation
Talk thread discussion
That's the wrap of all the works I have completed during this years programme and initially I was so worried about how to do all those works because at that time I was a noobie to the programming and also to the opensource contributing but thanks to the great organization the OpenMRS, I have learnt a lot about how a project should be implemented according to the standards under the guidance of very smart and knowledgeable people and It was really a great privilege for me.
It was really a positive one and for the feedback I want you guys to give more opportunities to the students like me where they can learn and improve their programming knowledge while also earning a good amount of stipend.
I wish good luck to everyone and This won't be the end of my affiliate with OpenMRS and I hope to be in touch with you all while contributing to the Opensource community where we can make wonderful products as a group collaboration. So let's Write Codes and Save Lives.