Jyothika's Project Portfolio Page
Project: ModTrek
ModTrek is a desktop application for managing a typical NUS Computer Science student’s modules and degree progression, optimised for use via a Command Line Interface (CLI). The app is provides a convenient platform for students to easily access and update their modules within presses of a keyboard.
Given below are my contributions to the project.
-
Code contributed: RepoSense link
-
Enhancements implemented:
- New feature: Tag command that deletes and adds multiple tags
- See PR #43
- What it does: Deletes user specified tags from a specific module
- Justification: This feature allows users to add or delete multiple tags of modules with one command instead of having to use the tag command multiple times or re-list the existing tags of a module when using the edit command
- In-depth: Modifies the tags of a module with
Module::getModifiableTags
to retrieve a modifiable Set of Tags that the Module object has in Module list if the Module list has the specified module. - Highlights: Implemented an extension to the
tag
function in the same class with a new module object method.
- New feature: Sort command
- See PR #107
- What it does: Groups modules in the module list by category for the user to view
- Justification: This feature allows users to have flexibility in the order and grouping by which modules are shown to them on UI instead of by only chronological year-semester order
- In-depth:
UniqueModuleList::sortModules
iterates through the module list and adds module objects to module lists of their specified category which are retrieved by key (String object of that category) in a TreeMap to pass to the UI through theUniqueModuleList::getModuleList
method to show to the user - Highlights: Implemented the
sort
function by creating theSortCommandParser
,SortCommand
classes and enhancingUniqueModuleList
to return TreeMap<Object, ObservableList> objects in the `getModuleGroups` method to the UI where module lists are split into categorical groups for the UI to show to the user.
- Enhancement to existing features: Update Add, Delete, Edit, Find command classes of AB3 to add, delete, edit and find modules in module list
- See PR #38
- What it does: Adds, deletes, edits and finds single modules by module code in the module list
- In-depth: Adapt logic and test code of AB3 to new MODTrek objects and change
equals()
method of module object and add a methodUniqueModuleList::hasModule
so that duplicate modules can be checked for and prevented
- New feature: Tag command that deletes and adds multiple tags
- Documentation:
- User Guide:
- Developer Guide:
- Community:
- Tools:
- Java (for code)
- PlantUML (for diagrams)