Augustine Kau's Project Portfolio Page
Project: MyMods
MyMods is a desktop app for tracking modules and grades, optimized for use for students who prefer typing via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).
With MyMods, you are able to keep track of your module results efficiently, easily make S/U decisions, and view your academic progress. It is written in Java.
Given below are my contributions to the project.
- New Feature: Added the ability for users to set their goal according to the university’s Honours Classification System
- What it does: Allow the user to set their goals or view the list of goal available.
- Justification: This feature is needed for recommendSU and Progress report feature as it needs to take into account the user’s desired goal.
- Highlights: This enhancement affects how the application saves and read from the json file. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to how the file is saved and read.
- New Feature: Added the ability for MyMods to recommend modules to S/U for the user.
- What it does: Recommend S/U looks through the all the modules by the user and cross check with our data file on where the module can be S/U by NUS restrictions. It then compares that module’s grade with the user’s defined goal.
- Justification: This feature gives the user more purpose of using MyMods as it is a personalised list and it is useful as students (esp NUS freshmen) have difficulty deciding what modules they should S/U.
- Highlights: This enhancement affects existing commands (semester feature) and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required consideration of OOP design principles.
-
Code contributed: RepoSense link
- Enhancements to existing features:
- Documentation:
- User Guide:
- Added documentation for the features
Set Goal
,Recommend S/U
andFind
(No PR by me as we typed collectively in Google Docs and pushed by one person) - Added documentation for Product Overview
Table of Contents
,About
,Glossaries
andGetting Started
(No PR by me as we typed collectively in Google Docs and pushed by one person) - Did cosmetic tweaks to existing documentation by including tips and all screenshot annotation (No PR by me as we typed collectively in Google Docs and pushed by one person)
- Added documentation for the features
- Developer Guide:
- Added implementation details of the
recommendSU
feature. - Edited sections with diagrams on Architecture and Storage components under Design.
- Added implementation details of the
- User Guide:
- Community:
- Number of PRs reviewed (with trivial review comments): 58
- Reported 13 bugs and suggestions for other teams in PE-D