Development of profile application for DHIS2 in the scope of GSoC 2016.

Hi Latifa,

thank you for taking an interest in DHIS2!

It’s not necessary for you to wait to be assigned to any issues in GitHub. Instead you can simply clone the repository of the app(s) you wish to work on and do whatever you want with them. Then if you make any changes that you think might be useful to integrate into the apps in DHIS2, you are free to make a pull request.

A good starting point might be to work on some of the open issues for the various apps on GitHub. You could also start working on a profile app if you wish, but most likely that will give you a steeper learning curve and it might take longer for you to make something functional. We also encourage you to get in touch if you have any questions along the way or if there are any implementation details you wish to discuss.

We don’t have very specific plans for the profile app at this point. It’s meant to replace the functionality that’s available in the “Profile” popup menu, which means that the basic functionality that’s there now needs to be implemented in the new app as well. In addition the look and feel should match that of the other new apps (settings, maintenance and app-management). Preferably that should be done by using components from D2-UI and following the same basic structure as the other apps.

D2 is indeed an abstraction layer on top of the API. There is no specific support for the API endpoints that will be used by the profile app yet, so adding that should be part of the project (preferably including test coverage). Keep in mind the documentation for D2 is not complete and not totally up to date, so you will probably have to look at the source.


Best regards,

On Mon, Mar 7, 2016 at 10:27 AM, Latifa Abdullayeva wrote:

Dear HISP community and Nicolay,


My name is Abdullayeva Latifa and I am a computer science student in final year of bachelor’s studies. My main passion is all about building software, in particular web applications. The idea of working on project for health information system is really exciting for me, especially in the context of DHIS2 - system which is used in more than 40 countries. Opportunity to deliver software which will affect millions of lives is irreplaceable.

Technical details/questions:

After carefully reading documentation listed in description of the project, I have setted up the local instance of DHIS2 on my machine. Current version of DHIS2 ships with several Profile/Account like applications. For example the top bar contains profile sub-menu (right next to apps), which also includes Settings/Profile/Account sub-menu items. It is a little bit difficult to understand the scope of the project: is student responsible for refactoring and merging all those apps into one, or the only app which should be considered for changes is “Profile”?

I have already read the documentation for the D2 library, from which I can conclude that it is an abstraction layer which is built on top of DHIS2 web API. Are user profile endpoints of DHIS2 API already supported in D2?

I am also studying the source code of “application management app” and getting familiar with overall project structure and architecture. I wonder if you have any tasks/goals for any of existing projects which can be assigned to me? If not, I can start working on the basis (barebone project) for profile app and publish it to GitHub as starting point.

Work/Other experience:

My primary interest is related to web technologies, especially implementation of front-end applications by making use of different libraries/tools built on top of HTML, CSS and JS like Bootstrap, ReactJs, NPM and Webpack. I also have background in development of software in python, mainly for scientific computation and scripting.

Since 2012 I have been interned/working in list of companies given below. I have also participated in conferences which are directly related to research of impact of Computer Science on modern society.

  • (2012) Use Study Group as a part time system administrator’s assistant
  • (2012) Participated in International Conference also known as Education Without Borders

presenting research paper named “The role of innovative technology in education”

  • (2013) Worked as a part-time employee in SAZZ (internet service provider) where my main goal was

to find out best location for cell towers by making use of mathematical modelling and simulations.

  • Internship in Ministry of Communications where my primary goal was to work along quality

assurance team.

  • Security specialist’s assistant in ‘Demir’ Bank.

Best Regards,

Abdullayeva Latifa.

Nicolay Ramm

Front end developer, DHIS 2

University of Oslo