Ideas of GSoC 2023 - Android Client Project

Hi everyone!

I’ll post here my ideas for GSoC 2023 regarding Android Client Project:

1. Increase Test Coverage in the project. [Highest Priority]

The project has always had low test coverage percentage, and with the migration of the architecture recently, it further needs more tests. It is so important NOT to do any changes to the project before being well-tested. Therefore, it is required to add much more tests to protect the project from lots of bugs in future changes. (Current test coverage is about 10%)

The currently tested classes are the ViewModels, the important now is to add UI (Instrumentation tests) to test fragments and activities. Also, the rest of the classes that are not tested yet need Unit tests.

2. Release the Android Client app in Google Play Store.

The currently released version of the app crashes immediately and it is an out-of-date version. It is important to finally showcase our working project in the store. Therefore, it is needed to recheck if there are any bugs or crashes in the release build (aside from the debug build) and finally update the project in the store with it.

3. Migrate Java Code to Kotlin

The project is currently 40% Java and 60% Kotlin. This objective has been always there throughout the last GSoC years. Now, it is only 40% rest to complete it.

Note: Android Studio offers the auto-conversion feature of Java class to Kotlin. It is important to follow up after its conversions as it most of the time creates non-clean Kotlin code. It is important to follow the conventions the other already created Kotlin class relies on so that the newly converted code become more consistent with the rest of the project.

4. Update OpenMRS Android SDK library to the latest changes.

The library is currently outdated and still in MVP architecture, while the project itself is in MVVM architecture. It is time to update it with the latest changes in the project.


Feel free to tell us your thoughts, everyone is welcome!

3 Likes

Hello @salahoamro sir good morning, My thought
I set-up openmrs client aneroid project and run it .but in app have some bugs and build versions also low level means sdk and gradle.

          I think  in the project need upgradesion. To gradle and code 

Happy coding

1 Like

Hii @salahoamro thanks for sharing such ideas, the idea of adding more test cases is more suitable I feel. Thanks for sharing.

1 Like