In the right-hand menu, you'll find five different cases to solve in the group project. Your group shall 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. After the first group presentation, we will add some technical details to the cases that will help you with the DHIS2 API and implementation.
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 should use React and the UiO git for development and coordination. The final app should be deployable to run as an internal app in DHIS2. See details about this here.
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 40 – 43, and presentation 1
The first part of the project work is to elicit and define requirements based on the information provided in the case. You will present this on the first group presentation in week 42. This an opportunity to get feedback on your thoughts, clear up misunderstandings, and ask any questions you might have. Your presentation (approximately 10 minutes per group) should include:
- Your understanding of the case provided.
- An outline of functional and non-functional requirements.
- Ideas on how to implement these.
- Some sketches on how the UI might look.
- What would be required from the DHIS2 API to enable implementation.
Based on the comments and discussions on the seminar group you should refine your requirements and prototypes. You might also start to implement some of the front-end functionality.
Week 44 – 46, and presentation 2
In week 44, a lecture on DHIS2 web-app development and use of the API will be provided. This should get you ready to start implementing your solution. We will also add some more technical details to the case-description to help you identify which parts of the DHIS2 platform and the API to focus on. When you start to explore the 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.
In week 46, your group will present what you have achieved so far to discuss the way forward in the seminar groups.
You could say something about
- What you have done since last time (maybe demonstrate)
- Updates in requirements
- What have been difficult
- Plan for the remaining 1 - 2 weeks.
- Questions you have to the case or DHIS2
Week 46 – 48
After the second presentation, you will finish your app. Group teachers will be available to provide guidance in the seminar groups.
Final "push" - Sunday 25th of November
After Sunday 25th 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.
In your git repository, you should also add a short readme file outlining:
- Your apps functionality
- How this is implemented (just a brief explanation)
- Any missing functionality/implementations, and things that do not work optimally.
Week 48: Final presentation
The final presentations will be held in week 48 on Tuesday 27th and Wednesday 28th from 10:15 - 15:00 in the room Prolog on the 2nd floor. All group members have to be present, but everyone does not have to speak during the presentation. You'll have approximately 10 minutes to present, and 5 minutes for questions and answers.
The time schedule for the presentations is available here.
In the presentation, you will 1) demonstrate the final product (your app), 2) reflect on decisions regarding design, functionality, implementation, and the overall process (see 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:
- Brief intro with your requirements for the selected case
- Demo of the app covering all functionality. (live demo of the working app)
- Reflections on your implementation. For instance:
- Structure of code
- Use of API
- Using data in DHIS2 core / versus hard-coded configurations.
- The development process. (e.g., how you have coordinated the implementation work, negotiated and decided on different aspects, etc.)
- What you could have done differently / things that do not work optimally or that you would have done if you had more time.