Project Summery
- Project Title: Improving the OpenMRS Developer Experience: Updating the SDK
- Primary mentor: Daniel Kayiwa
- Contributor: Wikum Weerakutti
- Project Link: Wiki Page Link
Overview
The primary objective of this project was to advance the OpenMRS SDK to meet the evolving requirements of OpenMRS development. The project primarily aimed to simplify developers’ tasks by introducing support for OpenMRS 3 and enhancing the overall functionality of the SDK.
Objectives
- Enabling users to set up OpenMRS 3 with the SDK.
- Spin-off a version of the SDK to support OpenMRS 1.x releases runs on Java 7: COMPLETED
- Refactor the SDK to take advantage of Java 8 features
- Use lambda expressions: PR CREATED
- Use the Streams API: PR CREATED
- Use the new Date and Time API: COMPLETED
- Use the Optional class: PR CREATED
- Upgrade the SDK to use a recent version of Maven: COMPLETED
- Improve the documentation system for all plugins: COMPLETED
- Improve the build-distro and setup commands by allowing per-version customizations: PR CREATED
Additionally, I’ve been involved in the following tasks:
- Optimizing SDK Cache Management.
- Implementing quality-of-life improvements.
- Resolving bug issues, and more.
Contributions
Weekly Blog Posts
- Community Bonding Period
- Coding Week 01
- Coding Week 02
- Coding Week 03
- Coding Week 04
- Coding Week 05
- Coding Week 06
- Coding Week 07
- Coding Week 08
- Coding Week 09
- Coding Week 10
- Coding Week 11
- Coding Week 12
- Coding Week 13
- Coding Week 14-16
- Coding Week 17
Resources
- Project proposal
- Mid-term evaluation update video
- OpenMRS GSOC showcase presentation
- Final video presentation
Future Works
To further enhance the OpenMRS Developer Experience, I am working on incorporating Java 17 support for OpenMRS. This improvement is particularly valuable for newcomers who prefer to learn and contribute using a more recent Java version, making their onboarding process smoother and more efficient.
Thoughts on GSoC
My journey during GSOC with OpenMRS has been incredibly enriching. This experience has allowed me to not only advance my technical abilities but has also been an opportunity for personal growth.
I want to express my heartfelt gratitude to my mentors, Daniel Kayiwa(@dkayiwa), Ian Bacher(@ibacher), and Joshua Nsereko(@jnsereko). Their unwavering support and guidance were instrumental in my success.
I would also like to extend my appreciation to every member of the OpenMRS community for their outstanding contributions and dedication.
Thank you all for this incredible journey!