Markus Yeo's Project Portfolio Page
Project: DengueHotspotTracker (DHT)
DengueHotspotTracker (DHT) is a desktop app for managing dengue cases. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 15 kLoC.
Given below are my contributions to the project.
-
Given below are my contributions to the project.
- New Feature: Changed default file storage format to be CSV
- Justification: As we deal with tabular data, we would like users to be able to easily view the data entered into
DengueHotspotTracker
offline. Additionally, NEA personnel are more likely to be familiar with CSV files than json files! - Highlight: It was challenging to write to CSV as it required exploring a new package
OpenCSV
. Exploring a new codebase and adding it into our project was nonetheless a very fruitful experience. I had to add a newCsvUtil
class to handle all the reading and writing from CSV.
- Justification: As we deal with tabular data, we would like users to be able to easily view the data entered into
- New Feature: Added the ability to import and export data as a CSV file
- Justification: This feature allows users to export, edit, and import CSV files into
DengueHotspotTracker
. Additionally, allowing users to export files, edit them offline, then import them back into theDengueHotspotTracker
is more convenient for sharing information with those without direct access to the app. - This feature also pairs with the
find
function, as users can usefind
to filter the data before exporting that specific set of data to share with others.
- Justification: This feature allows users to export, edit, and import CSV files into
- New Feature: Added the ability to checkout overview data as a CSV file
- Justification: This feature allows users to store the aggregated data from the overview tab and export it outside of
DengueHotspotTracker
into a CSV file. This means that they will be able to checkout a much smaller file compared to exporting the entire persons case list when they want to just get the aggregated numbers.
- Justification: This feature allows users to store the aggregated data from the overview tab and export it outside of
- New Feature: Added the GUI for overview.
- Justification: Our original way of including the overview in our GUI did not match the rest of the GUI. We wanted a design that looked neat and blended with the rest of our GUI. I wrote the
BinCard
class which enabled us to have a UI for the overview section that matched that of the case list it is displayed alongside. This allowed us to have a nice scaleable overview tab.
- Justification: Our original way of including the overview in our GUI did not match the rest of the GUI. We wanted a design that looked neat and blended with the rest of our GUI. I wrote the
- Code contributed: RepoSense link
- Project management:
- Set up the team organisation and repository.
- Managed
v1.1
-v1.2
issues. - Handled product releases for
v1.1
,v1.2
andv1.3
(including uploading and testing of JAR files). - Facilitated weekly meetings.
- Team Tasks
- Refactored the entire code base including test cases to be adapted for DengueHotspotTracker.
- Documentation:
- User Guide
- Reformatted the User Guide to be more readable
- Added documentation for the
import
,export
andcheckout
commands - Added the
Navigating the User Interface
section to help users understand the UI
- Developer Guide
- Added implementation details and UML diagrams of the
import
,export
andcheckout
features
- Added implementation details and UML diagrams of the
- User Guide
- Community: