PROJECT: Giatros by CS2103 AY1819S2 W13-4


Overview

Hi! I am Radhika Lakhtakia, a Computer Science undergraduate exchange student in National University of Singapore. I attend the University of Toronto for Computer Science. Giatros is my first software engineering project under CS2103.

An introduction is as such: Giatros is a desktop patient record application used to keep track of patient data in a hospital. Written in Java, the user interacts with it using a CLI, and it has a GUI created with JavaFX. With the authentication and user management components, these restrict people without proper credentials to view/edit information.

Summary of contributions

  • Major enhancement: Added the ability to export the giatros book to a csv file

    • What it does: Allows the user to export the giatros book to a csv file/

    • Justification: This feature improves the product significantly because it helps provide data for reporting analysis.

    • Highlights: This enhancement extends the ability of being able to save the file anywhere specified (or by default in the local downloads folder)

  • Minor enhancement:

    • Open the csv file on export command.

  • Code contributed: [Functional code] [Test code] {give links to collated code files}

  • Other contributions:

    • Project management:

      • Managed releases v1.0 - v1.4 (5 releases) on GitHub

    • Enhancements to existing features:

      • {to be added}

    • Documentation:

      • {to be added}

    • Community:

      • {to be added}

    • Tools:

      • Created an organization repository for the team on Github Integrated a Github plugin (TravisCI) to the team repo Integrated a Github plugin (Appveyor) to the team repo Integrated a Github plugin (Coveralls) to 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.

Exporting the data export

Exports the giatros book to a cvs file saved on the local disk at the specified DESTINATION.
Format: export [d/DESTINATION]

  • DESTINATION can end with an extension of .csv or end as a path to a directory.

  • Existing data file at DESTINATION will be overwritten.

  • A table view of the exported data will appear when file is opened.

  • .csv files can be opened and edited in Microsoft Excel

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.

Export Feature

Current Implementation

The following feature is mainly used to export data for report analysis. The export feature is available to admin only.

The functionality of the classes related to export are listed below:

  • ExportCommandParser — Reads the user input and creates ExportCommand.

  • ExportCommand — When executed, the command will result in a cvs file saved on the local disk at the specified DESTINATION.

  • DESTINATION can end with an extension of .csv or end as a path to a directory.

  • Existing data file at DESTINATION will be overwritten.

  • A table view of the exported data will appear when file is opened.

  • .csv files can be opened and edited in Microsoft Excel

Given below is an example usage scenario and how the export mechanism behaves at each step.

Step 1. The user launches the application and logs into the STAFF account.

Step 2. Assuming that the patient list is not empty, the user executes export to save the current Giastro’s book to a csv file

Step 3. This command in string format will be passed to the ExportCommandParser, which will check if the command format is valid.

Step 4. Since this command has a valid format, the system will create a new ExportCommand object, which will be executed.

Step 5. The system will locate the the desired destination, and save the giastrobook.csv file to the path.

The process is described in sequence diagram shown below: The following sequence diagram shows how the add appointment operation works:

Design Consideration

  • Create different csv files for each type of user. Due to only having patients in our book, we can currently only create csv files for that type of user.

  • Create cvs file for filtered lists