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 URLbutton with anOpen User Guidebutton inHelpWindow. Updated the.fxmlfile ofHelpWindowto 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
ModCommandParserand implementedModMarkCommandto parse and handle the marking of module(s). ModifiedModandStudentto include new methods to facilitate the marking of module(s). Wrote tests inModMarkCommandTestandModCommandParserTestformod markandmod 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
ModCommandParserand implementedModUnmarkCommandto parse and handle the unmarking of module(s). ModifiedModandStudentto include new methods to facilitate the unmarking of module(s). Wrote tests inModUnmarkCommandTestandModCommandParserTestformod 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
ModCommandParserand implementedModMarkAllCommandto parse and handle the marking of all modules of every batchmate. ModifiedStudentto include a new method to facilitate the marking of all modules. Wrote tests inModMarkAllCommandTestformod 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 MarkFeature. (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