Zheng Jiarui's Project Portfolio Page
Project: Mass Linkers
Mass Linkers is a powerful Desktop application tool that provides a centralised platform for Computer Science (CS) students to find study support from batchmates with common modules. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java.
Given below are my contributions to the project.
New Enhancement: Upgrade help window
- What it does: Shows a brief summary of commands with their syntax and a link to the user guide. Opens the user guide directly in the browser with a single button click.
- Justification: It provides flexibility for students to choose between shortcuts or the long detailed user guide based on their needs.
- Highlights: Updated the user guide link, added a command summary, replaced the original
Copy URL
button with anOpen User Guide
button inHelpWindow
. Updated the.fxml
file ofHelpWindow
to reflect design changes. (Pull request #60)
New Feature: Mark module as taken
- What it does: Marks the specified module(s) of a batchmate as
taken
, with the flexibility of marking one or multiple modules in a single command. - Justification: It is a crucial core feature to track batchmates’ module status.
- Highlights: Modified
ModCommandParser
and implementedModMarkCommand
to parse and handle the marking of module(s). ModifiedMod
andStudent
to include new methods to facilitate the marking of module(s). Wrote tests inModMarkCommandTest
andModCommandParserTest
formod mark
andmod delete
. (Pull request #85)
New Feature: Unmark module as not taken
- What it does: Unmarks the specified module(s) of a batchmate and updates the status as
taking
(i.e. currently taking), with the flexibility of unmarking one or multiple modules in a single command. - Justification: It allows students to rectify mistakes made in recording the module status of a batchmate.
- Highlights: Modified
ModCommandParser
and implementedModUnmarkCommand
to parse and handle the unmarking of module(s). ModifiedMod
andStudent
to include new methods to facilitate the unmarking of module(s). Wrote tests inModUnmarkCommandTest
andModCommandParserTest
formod unmark
. (Pull request #96)
New Feature: Mark all modules as taken
- What it does: Marks all modules of every batchmate as taken.
- Justification: It is useful for updating the module status of all modules of every batchmate as taken after each semester.
- Highlights: Modified
ModCommandParser
and implementedModMarkAllCommand
to parse and handle the marking of all modules of every batchmate. ModifiedStudent
to include a new method to facilitate the marking of all modules. Wrote tests inModMarkAllCommandTest
formod mark all
. (Pull request #145, #147, #148, #152)
Code contributed: RepoSense link
Project management
- Added issues for the team on GitHub.
- Facilitated the workflow on Git.
Documentation
- User Guide:
- Developer Guide:
- Designed diagrams and added writeup for
Mod Mark
Feature. (Pull request #99, #121) - Proofread developer guide for bugs. (Pull request #163, #169)
- Designed diagrams and added writeup for
Community:
- Reviewed and approved other teammates’ PRs.
- Contributed in weekly team meeting.
- Submitted bugs and feedback for ArtBuddy, another team in the module.
Tools:
- JavaFX: Platform which Mass Linkers’ help window uses
- PlantUML: Software to create UML diagrams
- Git workflow