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: Refactored the GUI and its behavior

  • What it does:
    • Implements a UI overhaul with its new design inspired by Outlook. (Pull request #87, #100, #72)
    • Handles the interaction between the model and ui components. (Pull request #133)
  • Justification: To improve user experience with an aesthetically pleasing UI.
  • Highlights:
    • Created module panel, ModListPanel.fxml and ModListCard.fxml, to display the modules taken by selected student.
    • Handled live updates to UI for commands such as mod add, mod mark and addInt. (Pull request #105, #129)
    • Enhance style (Pull request #133) and fix UI bugs. (Pull request #131)

New Feature: Add Interest

  • What it does: Gives students a hassle-free way of adding new interests to a batchmate.
  • Justification: It is crucial for students to be able to add interests without overwriting current interests.
  • Highlights:
    • Implemented AddInterestCommand and AddInterestCommandParser which handles adding a set of interests to a student. (Pull request #118)

Other Modifications: Modify Student Information

  • What it does: Removes Address field and adds Telegramand GitHub fields to a student.
  • Justification: Since Mass Linkers serves as a CS contact-sharing platform, it would be a value-add to include relevant socials to a batchmate.
  • Highlights:
    • Added private Telegram and GitHub fields to Student. (Pull request #64)
    • Redesigned user interface of Student fields such as addition of GitHub and Telegram logos.

Other Modifications: Ensure Specificity of Error Messages

  • What it does: Displays appropriate error messages for different command input errors. (Pull request #167, #206)
  • Justification: Handling and signalling different types of input errors to users increases the ease of use of Mass Linkers.
  • Highlights:
    • The different types of errors include unknown command, missing parameters and invalid index.

Project management

  • Added weekly Issues for the team on GitHub.
  • Facilitated the workflow on Git (PR and Issues categorisation).

Documentation

  • User Guide:
    • Writeup of project description and FAQ. (Pull request #211)
    • Proofread user guide for bugs and enhance writing quality. (Pull request #176, #239, #219, #210)
  • Developer Guide:
    • Writeup of Overview, Use cases 1 - 4 (Pull request #63, #24) and Future Developments. (Pull request #214)
    • Design diagrams and writeup for Add Interest feature. (Pull request #119)
    • Proofread developer guide for bugs.

Community:

Tools:

  • JavaFX: Platform which Mass Linkers’ UI uses
  • PlantUML: Software to create UML diagrams
  • Git workflow