...
Technical Debt Description | Impact |
---|---|
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 Debt | Impact |
---|---|
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 |