Project: Notor

Notor aims to help mentors who wish to informally keep tabs on their mentees, by providing a quick way to take notes and mantain records on their mentees. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 13 kLoC.

Given below are my contributions to the project.

Code contributed: RepoSense link

  • New Feature:
    • Advanced Note Command
      • What it does: Allows mentor to type notes for Persons and general Note in Notor via Note Window. Allows multiple instances of Note Window to be opened at once.
      • Justification: We wanted mentors to have more control over typing of notes, as it is an important aspect of mentoring.
      • Credits: No code reused.
    • Warning Window and Confirmation Window
      • What it does: Prompts Warning Window when mentor runs any clear commands. Prompts Confirmation Window when mentor attempts to close Note Window without saving. Prompts Warning window when mentor attempts to exit Notor with unsaved Note Windows opened.
      • Justification: We wanted to add a layer of precaution for mentors to prevent them from unintentionally executing commands.
      • Credits: No code reused.
    • Clear Note Command
      • What it does: Prompts Warning Window and clears note upon confirmation.
      • Justification: Mentor should be able to clear note if they choose to do so.
      • Credits: No code reused.
    • Command History
      • What it does: Allows mentors to easily access previous typed commands via Up and Down arrow keys.
      • Justification: We wanted mentors to be conveniently accessed previous commands so as they can use Notor at a fast pace.
      • Credits: No code reused but inspired by CLI Terminal.
    • Note Window Shortcut keys
      • What it does: Allows mentors to save and quit Note Window using shortcut keys.
      • Justification: We wanted mentors fully immersive, hand-free experience.
      • Credits: No code reused.
    • Gui Testing (Not implemented)
      • What it does: Tests Gui aspects of Notor.
      • Justification: New features such as Note Window, Confirmation Window, Warning Window and General Note pane on Notor uses GUI, which is not possible to test via JUnit 5. Not implemented due to CI failure.
      • Credits: No code reused but followed closely to TestFX to setup.

Review contributions:: Reviewed 10 PRs

  • Contributions to team-based tasks:
    • Updating user/developer docs that are not specific to a feature.
    • Provide advice on testcases bugs.
  • Enhancements to existing features:
    • Dummy data
      • What it does: Add dummy data is relevant to our target user mentor.
      • Justification: Allows mentor to visualise and understand how Notor works.
      • Credits: No code reused.
  • Documentation:
    • User Guide
      • Feature list & Command Summary (with Jonathan and Elton).
      • Person commands
      • Table for Keyboard shortcut for Note
      • Command History
      • Quality Assurance fixes throughout User Guide
    • Developer Guide
      • Sequence Diagram and description for Person Note Command
      • Use case for add Note and Exit
      • Manual Testing for Delete Person Commands, all Note Commands, and Find Group and SubGroup Commands
      • Command History