Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Technical Debt DescriptionImpact

Tomcat 7 - OpenSRP Server works with Apache Tomcat7 in many production environments, which has reached end of life support. The current focus of development is tomcat 8.5.x and 9.

Medium

Java 9 - OpenSRP currently deploys on Java 8. Java 9 presents a number of changes to how internal packages are structured causing build errors. Java 8 will not reach end of life support until 2020.

Low


Implemented Tech DebtImpact

OpenSRP Server Split and Refactor - We split the OpenSRP server and refactored it so it's more lightweight and implementation specific.

High

Client Refactoring Clean-up - OpenSRP Android client has project modules that each contain components that should be shared. We have cleaned this up.

Medium

Remove Removed MOTECH and OpenMRS dependency in OpenSRP server - OpenSRP initially depended on OpenMRS to provide authentication, team management, location management and user management services however that is currently supported natively in OpenSRP with the authentication service being handled by integration with Keycloak a robust and multi-featured authentication system.

Medium

Completely Remove CouchDB and Lucene dependencies from OpenSRP server. 

Medium

Spring Framework upgrade to v.5.x - We currently depend on Spring v 3.1.0 which has reached end of life support. The latest version is 5.0.x.

Medium

Unit tests were added to improve the testing coverage - This vastly improved the stability of our code base greatly reducing the number of regression bugs when new features were added

Medium

Upgraded to Java 9 - Support for the latest Java version is recommended in order to take advantage of the latest improvements in the Language

Low

Moved all the client libraries to android x - This is a recommended upgrade for the Android Framework since the libraries previously used were deprecated and no longer supported by the foundation. In order to take advantage of the latest Open Source updates, patches and fixes we needed this.

High

Added support for performance monitoring & analytics using firebase on the Android client - We implemented performance monitoring which helps gain insight into the performance characteristics of the android client. Integration with the performance monitoring SDK allows collection of performance data from the app for review and analysis and this can be used to understand the areas to be improved as well as use the info to fix performance issues

Medium