GSOC 2023: Improving the OpenMRS Developer Experience: Updating the SDK - Final Evaluation

Project Summery

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

  1. Community Bonding Period
  2. Coding Week 01
  3. Coding Week 02
  4. Coding Week 03
  5. Coding Week 04
  6. Coding Week 05
  7. Coding Week 06
  8. Coding Week 07
  9. Coding Week 08
  10. Coding Week 09
  11. Coding Week 10
  12. Coding Week 11
  13. Coding Week 12
  14. Coding Week 13
  15. Coding Week 14-16
  16. Coding Week 17

Resources

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!

2 Likes

You have done amazing work @wikumc

3 Likes

Awesome work @wikumc :tada:

1 Like