PROJECT: MediBook


Overview

MediBook is adapted from Software Engineering Education’s (SE-EDU) AddressBook Level 3 application and it has been designed specifically for healthcare professionals. It contains approximately three thousand lines of code (LoC) and it is written in an object-oriented programming (OOP) fashion of the Java programming language.

Summary of contributions

Together with my project group mates, Xi Yi, Nicholas and Jia Jian, MediBook was born. The following is a summary of my contributions.

  • Major enhancement: Sort - Sorts MediBook entries according to name or title.

    • What it does:

      • Presents an organised view for the user to see the entries of Medibook

      • Allows the user to find out a contact in a shorter amount of time if he/she forgets the name for the find function

    • Justification:

      • Just a regular contacts application in a smartphone, there is a need to sort the entries according to alphabetical order as people use that method to find their contact details.

    • Highlights:

      • Although sorting comes as an integrated feature in Java, implementing it into MediBook proved challenging as multiple classes were involved.

  • Minor enhancement: Added a feature to allow case insensitive search

  • Code contributed: [Functional and Test Code]

  • Other contributions:

    • Project management:

      • Notified team about updates disseminated through GitHub and email.

    • Documentation:

      • Contributed to the User Guide and Developer Guide as well as editing its language structure for clarity.

    • Tools:

      • Configured RepoSense and shadowJar for the team repo

Contributions to the User Guide

Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users.

4.3 Sorting the list : sortname

Sorts the list of entries in MediBook according to alphabetical order. After the list is sorted, future commands (e.g. delete ) will use the index of the sorted list. Format: sortname

4.3.1 Sorting the list according to title : sorttitle

Sorts the entries in MediBook according to title. Entries within the titles are sorted according to alphabetical order. After the list is sorted, future commands (e.g. delete ) will use the index of the sorted list. Format: sorttitle

Contributions to the Developer Guide

Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project.

3.4 Storage Component

StorageComponentClassDiagram

The storage component stores MediBook data in an XML format and is able to translate it back into a human-readable format in MediBook

4.4 Data Organisation

Sorts entries in MediBook according to alphabetical order

4.4.1 Current Implementation

When the sortname command is entered, the integrated sort function is called on the list of persons from UniquePersonList, using alphabetical order as the comparator. When the sorttitle command is entered, Medibook entries are sorted according to alphabetical order within their sorted title.

The sort command does not access the stored data directly.

4.4.2 Reason for Implementation

The sort feature provides an avenue for users to view their MediBook entries in an organised manner and allows them to find their patient/colleague in a shorter time should they ever forget their name entirely (hence be unable to use the find feature).

4.4.3 Future/Alternative Implementation

In the future, the sort feature can be further enhanced in the following ways.

  1. Sort according to appointment date with earliest appointment first

Past Projects


  • “LimpehWatchingYou” for my independent summer project module, Orbital (CP2106). More info [here].