- Project Title: OpenMRS Android SDK
- Primary Mentor: Rishabh Agarwal
- Backup Mentor: Abert Namanya
- Student: Shubham Sharma
- Project Link: Wiki Page Link
The Project aims to develop and enhance the OpenMRS Android SDK. The OpenMRS Android SDK was developed with an idea to modularize and encapsulate certain tasks, features, or behaviors, making it easier for developers and implementers who are integrating OpenMRS functionalities into their apps without having to start from scratch.
Add OpenMRS as a dependency to your Android project Getting Started with OpenMRS Android SDK
- ☐ Fix existing bugs to prevent crashes in the App
- ☐ Fix CI/CD Pipeline on GitHub
- ☐ Add/Enhance Encounter functionality
- ☐ Add/Enhance Observation functionality
- ☐ Add/Enhance Visit functionality
- ☐ Add Appointment Scheduling Feature
- ☐ Add Orders Feature
- ☐ Add Drugs Feature
- ☐ Add Programs Feature
- ☐ Add Unit tests for Encounter Repository
- ☐ Add Unit tests for Observation Repository
- ☐ Add Unit tests for Visit Repository
- ☐ Add Unit tests for Orders Respository
- ☐ Add Unit tests for Drugs Repository
- ☐ Add Unit tests for Programs Repository
- ☐ Migrate Java files to Kotlin
The initiative began with a thorough investigation and subsequent resolution of existing bugs that were causing the application to crash. This led to a notable enhancement in the stability and reliability of the application.
Building upon the bug-fixing phase, A robust CI/CD pipeline was established on the GitHub platform to facilitate automated testing and deployment for upcoming Pull Requests.
Recognizing the importance of comprehensive access to all the functionalities of a feature, more functionalities are added for improving the Observations, Encounters & Visits Repository. Any previously missing APIs were incorporated, thus enriching the developer experience.
A very important part of the project was the addition of four important features/functionalities to the SDK namely Appointment Scheduling, Orders, Drugs, and Programs. Planned, built, and added these features to the SDK. This made the application more useful and flexible for everyone who uses it.
Since there was a requirement to test the newly added functionalites and features of the SDK and to test every feature in the demo application is not feasible, Unit tests were added for all the major repositories. Each newly integrated component and feature underwent meticulous testing to validate its functionality and behavior. This approach ensured that the code additions were robust and met the expected standards.
JIRA Issue | Raised PR Link |
---|---|
AC-1068 | openmrs/openmrs-contrib-android-client#986 |
AC-1070 | openmrs/openmrs-contrib-android-client#988 |
JIRA Issue | Raised PR Link |
---|---|
AC-1080 | openmrs/openmrs-contrib-android-client#1000 |
AC-1082 | openmrs/openmrs-contrib-android-client#1002 |
AC-1093 | openmrs/openmrs-contrib-android-client#1011 |
AC-1094 | openmrs/openmrs-contrib-android-client#1012 |
JIRA Issue | Raised PR Link |
---|---|
AC-1072 | openmrs/openmrs-contrib-android-client#987 |
AC-1077 | openmrs/openmrs-contrib-android-client#997 |
AC-1079 | openmrs/openmrs-contrib-android-client#999 |
JIRA Issue | Raised PR Link |
---|---|
AC-1089 | openmrs/openmrs-contrib-android-client#1005 |
AC-1090 | openmrs/openmrs-contrib-android-client#1008 |
AC-1091 | openmrs/openmrs-contrib-android-client#1009 |
AC-1092 | openmrs/openmrs-contrib-android-client#1010 |
AC-1107 | openmrs/openmrs-contrib-android-client#1026 |
AC-1108 | openmrs/openmrs-contrib-android-client#1027 |
JIRA Issue | Raised PR Link |
---|---|
AC-1075 | openmrs/openmrs-contrib-android-client#991 |
AC-1095 | openmrs/openmrs-contrib-android-client#1013 |
AC-1103 | openmrs/openmrs-contrib-android-client#1022 |
- Addition of more modules to the Android SDK of OpenMRS.
- Migration of Whole codebase to Kotlin.
- Add the newly added features and APIs to the demo app
- Work closely with any Implementer to get the client customized and deployed.
Thoughts on Google Summer of Code (GSoC)
Participating in this year's Google Summer of Code program has been an incredible experience. GSoC and OpenMRS provided me with a unique opportunity to collaborate on real-world projects, enhance my coding skills, and work within an active open-source community. It's been a journey filled with learning, challenges, and growth.
One of the things that stood out to me during GSoC was the chance to work on projects that have a tangible impact. The projects I contributed to weren't just theoretical exercises – they were meaningful solutions to actual problems. This hands-on experience allowed me to see the direct results of my efforts, which was both motivating and rewarding.
Throughout the program, I encountered various challenges that tested my skills and problem-solving abilities. These challenges sometimes felt daunting, but they were essential for my growth. Overcoming them not only improved my technical prowess but also boosted my confidence in tackling complex issues.
Looking ahead, GSoC has ignited my passion for open-source contribution. The experience has shown me the power of collaborative coding and how my work can impact a larger community. I'm eager to continue contributing to the projects I've been involved with and explore new opportunities in the world of open-source software.
In conclusion, GSoC has been an enriching and transformative experience. It has deepened my technical skills, introduced me to an amazing community, and instilled in me a sense of purpose in the world of software development. I am grateful for the chance to have been a part of this program and am excited about the journey ahead as I continue to grow as a developer.
THANKS TO MY MENTOR RISHABH AGARWAL. YOU ARE A GEM!
THANKS TO ALL THE PEOPLE OF OpenMRS.