ProfBook

ProfBook is a desktop application used for easy management of a variety of tasks, students and groups. The user interacts with it using a CLI, and has a GUI created with JavaFX.

Given below are my contributions to the project.

Class Enhancements

  1. Introduced Path Class :
    • Provided a structured way to manage and manipulate paths in our application.
    • This class assists other classes in providing functionality such as navigating between directories and executing commands against specific paths.
  2. Introduced Id class :
    • Represent unique id of group and student.
  3. Introduced Option class :
    • Similar to AB3 Prefix class, but with shorthand and longhand names.
    • e.g. Name option can be passed using option --name or -n.
  4. Introduced Displayable interface :
    • Classes that implement this interface can be displayed in the ItemListPanel.
    • e.g. ToDo, Deadline, Student and Group.
  5. Refactored ArgumentTokenizer class :
    • Refactored ArgumentTokenizer class to adopt Option class.
  6. Added validation for options:
    • Implemented validation to check for invalid options in every command.
    • An error will be thrown if the user provides an option that is not applicable for a specific command.

New Features

  1. cd Command : Allows users to navigate between different directories.
  2. ls Command : Shows a list of directories under the current directory.
  3. cat Command : Displays the task list under a specific path.
  4. rmt Command : Deletes task with the given display index.
  5. --help Option : Provides a detailed usage information for each command.

GUI Enhancements

  • Added new icon and expanded the color palette to enhance the project's visual appeal.
  • Show the current directory and display directory for enhanced user orientation in our application.

User Guide Contributions

  • Non-Feature Aspects:
    • Added the ProfBook Folder Structure section which explained the ProfBook structure.
    • Updated the Accepted values for each parameter section.
  • Feature Aspects:
    • Explain cd command.
    • Explain ls command.
    • Explain rmt command.

Developer Guide Contributions

  • Non-Feature Asepcts:
    • Added the Appendix: Effort section.
    • Updated the UI Componenet section.
  • Feature Aspects:
    • Explained the Path package of ProfBook.
    • Created activity diagrams for create student, create deadline and edit group command.
    • Created a sequence diagram for move student command.

Team-Based Task Contributions

  • Established our team's organization and repo on GitHub.
  • Set up a GitHub project to manage issues related to user stories and tasks.
  • Setup project website deployment.
  • Integrated Netlify to enable automatic deployments of our PR previews.
  • Wrapped up milestone v1.1 and released JAR file.
  • Recorded video for v1.2 demo.
  • Migrated documentation to MarkBind with initial site-wide configuration.

Review and Mentoring Contributions

Here are the pull requests I reviewed and provided valuable feedback and suggestions: