In the project, your group will select one case, and design and implement a working solution as an app for DHIS2. The cases provide a description of the use-case, users, and context and will be published here early October.
You are provided with substantial flexibility on how to solve your selected case as long as you cover the basic functionality outlined, and your solution is sensitive to the users and the context described. Please feel free to design and implement additional useful functionality, and to design the app in any way you think is best. You will have 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 your 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 on the seminar groups.
The group project process
Week 41 – 43, and presentation 1
The first part of the project work is to decide on a project case, elicit and define requirements for your minimum viable product based on the information provided in the case, and get started on the development. You will present this on the first group presentation in week 43. This 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:
- An outline of your planned minimum viable product
- Ideas on how to implement it including potential challenges
- Demo of any implemented functionality and UIs (or prototype sketches)
- Any difficulties or concerns with DHIS2, its APIs, or the app platform.
- A project timeline
Based on feedback in presentation 1, continue developing your solution to the selected case. When you start exploring the DHIS2 API, you might discover that some of your planned functionality and implementation must adapt to the possibilities and constraints of the platform. This is a natural part of the process.
Week 44-46
After the first presentation, you will continue working with the app. Most importantly, ensure a working version of your minimum viable product, before embarking on any additional features you deem relevant. Group teachers will be available to provide guidance in the seminar groups.
Final "push", demo video, and submission in Devilry - Friday 19th of November
After Friday the 19th of November (23:59-ish), your group should not make any more changes to your solution on git. The one/two remaining days before your presentation we will have a look at your code.
You must also make a short (1-2 min) video demo of your app. You should narrate the demo explaining the different screens and features of your app, either using voice or text. It should be a direct recording of the screen, not made by filming the screen using your phone. In lack of any screen-recording software, one easy way of doing it is to open a zoom-room where you share your screen and then record. Then you’ll get an mp4 file that you can submit to us.
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 and the demo video in Devilry before the 19th 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 Monday 22nd, Tuesday 23rd, and Wednesday 24th 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, functionality, implementation, and the overall 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 should 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 all additional features. Quickly justify the plausible utility of every additional feature you've decided to include.
-
Reflection upon positive/negative aspects with your solution and your choices during implementation
-
Reflections upon the project design and development process (e.g., how you came up with the ideas for additional features, prototyping, usability testing, coordination, time management, etc.). Including some reflections on if and how you used methods from the method toolkit
-
Self-evaluation using grade scale in the evaluation criteria