Group Project

Your group will develop an app for the DHIS2 platform using the DHIS2 Demo Instance.  

You have flexibility on how to design and develop the App as long as you cover the fundamental requirements, and your solution is sensitive to the user profile and the context described in the case description. You will have to prioritize what additional requirements to implement. You need to justify your decisions regarding design, functionality, and implementation in the final (graded) group presentation. 

You must use React, the DHIS2 app development platform, the DHIS2 UI library and styleguide, and the UiO git for development and coordination. Your group should set up its own git repository. The final app should be deployable to run as an internal app in DHIS2.

Throughout the process, you will be able to discuss ideas for design, functionality, and how to implement this with the group teachers. You can get help with the technical aspects of your project (e.g., APIs, DHIS2 app platform, UI library) during the seminar groups. 

You only have six weeks for the project work. Start immediately by organizing your group collaboration and design and development process. We encourage you to work through several iterations. In the first iteration, the focus should be on designing and developing a minimum viable product that addresses the most fundamental aspects of the case. Divide the work among group members to work efficiently while making sure that everyone is part of all major decisions. Try to have frequent meetings and to do all larger ideation and requirements-definition-related activities together as a group.

You will need to strike a balance between “ideal” features and what is possible given technical limitations and the limited time you have for the project. 

The group project process

Week 41 – 43, and presentation 1

The first part of the project work is to elicit and define requirements for your minimum viable product based on the information provided in the case desciption, and get started on the development. You will present your preliminary ideas in the first group presentation in week 43. This is an opportunity to get feedback on your thoughts, clear up misunderstandings, and ask any questions you might have. Your presentation (max 6 minutes per group) should include:

  • Outline the functionality and design of your minimum viable product
  • Demo of any implemented functionality and UIs (or prototype sketches)
  • Any perceived difficulties or concerns with DHIS2, its APIs, or the app platform
  • Timeline and plan for coordinating the work between group members 

You will be asked to reflect on your solution and the work process in the final graded presentation. When you start exploring the DHIS2 API, you might discover that you need to adapt to the possibilities and constraints of the platform. We encourage you to take note of how this shapes your development process. 

Week 44-46

Continue working on the app. Make sure you have a working version of your minimum viable product, before embarking on any additional features. 

 

Final "push" and submission in Devilry - Friday 17th of November

After Friday the 17th of November (23:59), your group should not make any more changes to your solution on git. In the one/two remaining days before your presentation we will have a look at your code.

Remember to:

  • Invite all group teachers to the git repository
  • In your git repository, you should also add a short readme file outlining:
    • Your app's functionality
    • How this is implemented (just a brief explanation)
    • Any missing functionality/implementations, and things that do not work optimally. 
  • Submit a link to your git repository in Devilry before the 17th of November 23.59
  • The delivery should be made a 'group delivery' in Devilry, including all group members. 

Week 47: Final presentation

The final presentations will be held in week 47 on Tuesday 21st, Wednesday 22nd, and Thursday 23rd of November from 08:30 - 14:00. All group members have to be present, but everyone does not have to speak during the presentation. Your presentation should be no longer than 10 minutes (we will stop you if you go over this), and we will spend approximately 8 minutes on questions and answers. 

In the presentation, you will 1) demonstrate the final product (your app), 2) reflect on decisions regarding design, user experience, functionality, implementation, and the overall development process, and 3) provide a self-evaluation using the evaluation criteria This presentation will be graded (one shared grade per group) and counts 40% to your final individual grade in the course. 

Things you need to cover in the presentation:

  • Live demo of the working app, covering all functionality

  • Provide a brief summary of the fundamental requirements you've covered and any additional features. Quickly explain the utility of the additional feature you've decided to include.

  • Reflect on the development process (e.g., how you selected the additional features, prototyping, usability testing, coordination, time management, etc.). 

  • Reflect on the opportunities and constraints you have experienced by developing in the context of a platform ecosystem. Specifically, how did you experience the partitioning between the DHIS2 platform and your application in terms of presentation logic, application logic, data access logic, and data storage? How did you arrive at decisions regarding this partitioning? 

  • Self-evaluation using grade scale in the evaluation criteria