GSOC 2019: OpenMRS Android Client 2.8+

Before this, we had a private discussion on Talk, but as there’s no more activity there and following the standard, I want to make further posts public.

Here’s @deepak140596 's timeline:

26th May – 9th June

  • Add Kotlin Support
  • Add Provider Module
  • Test and Document

9th June - 23rd June

  • Add Dark Theme
  • Revamp Settings page
  • Add Privacy Policy link to the app
  • Add Account information
  • Add Current Provider Information
  • Add Forgot Password
  • Add PIN/Fingerprint Authentication
  • Test and Document

24th June – 28th June

First Round of Evaluations

29th June – 10 July

  • Work on Issue AC-545
  • Improve the Performance of the app while inflating Views
  • Add Bottom Navigation Bar
  • Test and Document

10th July – 21st July

● Follow Material Guidelines and improve the Recyclerview rows looks. ● Add Room Entities for Analytics ● Add Room DB for Analytics ● Test and Document

22nd July – 26th Jul

Second Round of Evaluations

27th July – 8th Aug

  • Record users’ traversal through the app
  • Synchronise the Analytics DB to Server
  • Improve Logging
  • Test and Document

9th Aug – 19th Aug

  • Reverse engineer the apk and check for exposed keys or data.
  • Buffer kept for unseen changes.
  • If time permits, finally add Chart Search as available on theWeb-App.
  • Final testing and Documentation

19th Aug – 26th Aug : Final Round of Evaluations

And this the 1st week’s blog :

So @deepak140596 any queries you can definitely ask here. :slight_smile:

cc @csmuthukuda


Thanks @f4ww4z, and this is the way to go. You get input from more than just the few of you. :slight_smile:

@f4ww4z, @csmuthukuda, we can see that many of the objectives have been completed. Regarding the Provider module, we will gradually implement its feature on the course of time.

I need some input on what do we plan to do next?

List of objectives that have been completed

  1. Kotlin Support
  2. Settings page
  3. Privacy policy link
  4. Performance
  5. Room entites

List of objectives that can be done in parallel with Provider Module and Password reset

  1. Dark Theme
  2. Change UI to material design

Your inputs will be great. :slightly_smiling_face:

I agree. So for clearance, before the 1st evaluation, we’d like to finish 4 objectives (with roughly the time it takes):

  • Provider module (2 weeks) (under review)
  • Password reset (1 week)
  • Dark theme (2-3 days)
  • Change UI to material design (2-3 days)

You can do these in any order, and even at the same time :grinning:.

Also, @deepak140596 please edit the project’s wiki page on the objectives that’s completed, todo, etc. You can add & edit objectives and set their due dates based on this post and your timeline.

I think it’s better to edit the page so it’s a timeline view (list of objectives, sort by expected due date). What you think @csmuthukuda

yes please do so @f4ww4z sorry for my extremely late reply.

@f4ww4z, @csmuthukuda, I have changed the projects wiki page.

Please check for errors.

1 Like

Thanks @deepak140596 , looks good to me so far!

1 Like

@f4ww4z @csmuthukuda, I need some help and suggestions regarding Dark Mode. I have been working on it for last 2 weeks.

Currently the app has unnecessary drawables and themes that are hindering the implementation of the an alternate theme. For example, there is a custom Card layout that doesn’t support multiple theme. No matter which theme, we get the same layout. Also the default text color (primary) can be changed to default as setting its inverse color on base app theme isn’t working.

Most icons are just drawables, they need to be changed to vectors. The action bars’ themes need to be changed.

This section might help.

Please let me know your views. Also I’ll be posting some screenshots of the UI for dark theme.

1 Like

@deepak140596 That’s looking good so far, except that the icons are not dark themed like you said. Is converting them to vectors the best way to support dark theme? Or just download the icons in lighter purple colors?

Also, the dashboard’s background shouldn’t be hardcoded to a single color (which is why dark mode isn’t working there), so do fix that.

Finally, the app bar should be dark grey when in dark mode. See this from material design:

@csmuthukuda What do you think of this

1 Like

i agree with you let’s make the UI more clear to the user in Dark mode and doesn’t matter if we need to change the Icons let’s change them.

@f4ww4z @csmuthukuda, what should we plan on implementing next? I was thinking of adding the Analytics part.

@deepak140596 adding Analytics might actually fall outside the scope of the android client, as we have to create our own backend due to the discussion here, and upload the data to the OpenMRS server to be used.

I want to focus on finishing the provider module by adding provider-patient relationships in the app. Did you get a chance to find the right API endpoints?

1 Like

agree we should think about the analytics after we have completed all the other tasks.

@f4ww4z @csmuthukuda, I have still not found the right API endpoints. Also in the WebApp I can’t find the options to try the Patients transfer or use Provider-Provider relationships. Even on the Provider dashboard these options are not available.

I think I am missing something.

@deepak140596 what do you mean patient transfer.? Since I am working on rest services if I knew I can help out

Thanks @vankineenitawrun. Please go through this link which explains the Provider dashboard and its actions. I am trying to find the API endpoint to this feature. It will be very helpful if you can help.

@deepak140596 I would suggest to open the provider dashboard in web app and inspect to find which module of openmrs is being used for it by checking the network which end point is being called.

@vankineenitawrun, the problem is that I cannot find the actions for provider relations in the provider dashboard on the webapp. This is why I am not able to test the feature.

I am trying to find the feature where a patient is transferred by a provider as defined by this document. In the current demo version, we can only create,edit and delete the providers.

@f4ww4z @csmuthukuda Please guide me what to tackle on next. I cannot find the API endpoints for provider dashboard.

Parallel to this, I was thinking to implement the forgot password and test it with fellow contributor.

Please let me know your thoughts.