Group Project

Your group will develop an app for the DHIS2 platform.

General project description

You have flexibility on how to design and develop the App as long as you cover the compulsory requirements, and your solution is sensitive to the user profile and the context described in the case description. You will have to prioritize which optional requirements to implement. You need to justify your decisions regarding design, application workflow, and implementation in the final (graded) group presentation. You also need to be able to reflect on your project experience of development in a platform ecosystem in relation to course curriculum and lectures. 

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 must 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 about six weeks for the project work. Start as soon as possible 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 application. Divide the work among group members to work efficiently while making sure that everyone is aware of and participates in all major decisions. Try to have frequent meetings and to do all larger ideation 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. Make sure you meet the minimum requirements before you move into "nice to have" features and designs.

The group project process

Week 42 – 44, 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 description, and get started on the development! You will present your preliminary ideas in the first group presentation in week 44. This is an opportunity to get feedback on your ideas and blueprints, 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 resources
  • Timeline and plan for coordinating the work between group members 

You will need 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 experience of development in a platform ecosystem. 

Week 45-47

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 - 25th of November

After the 25th of November (23:59), your group should not make any more changes to your solution on git. Before your presentation in week 49 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 25th of November 23.59. This is a compulsory group submission in the course. 
    • Upload a 4 minute video to Devilry where you review the code of your application and explain the organizing and structure of your application. This video is not intended to demonstrate the user experience or features of the application as you will do that in the final graded presentation, it rather compliments the readme file and demonstrates your understanding and ownership of the submitted code.  
    • The delivery should be made a 'group delivery' in Devilry, including all group members. 

Week 49: Final presentation

The final presentations will be held in week 49. All group members have to be present. Your presentation should be no longer than 10 minutes (we will stop you if you go over this), we will then ask you some questions. 

The presentation and your answers will be graded (one shared grade per group) and counts 85% towards your final individual grade in the course.  

Things you must cover in the presentation:

  • Live demo of the working app, covering the compulsory requirements, UX principles (e.g., Don Normans principles) and all implemented optional requirements

  • Explain the utility of the additional feature you've decided to include and why you chose to implement these.

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

  • Reflect on how development in a platform ecosystem, including your engagement with platform boundary resources, shaped your decisions regarding ideation, design, user experience, and the development process.

  • Reflect on the partitioning between the DHIS2 platform and your application in terms of presentation logic, application logic, data access logic, and data storage.