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
- 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.
- Introduced
Id class : - Represent unique id of group and student.
- 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.
- Introduced
Displayable interface : - Classes that implement this interface can be displayed in the
ItemListPanel. - e.g.
ToDo, Deadline, Student and Group.
- Refactored
ArgumentTokenizer class : - Refactored
ArgumentTokenizer class to adopt Option class.
- 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
cd Command : Allows users to navigate between different directories. ls Command : Shows a list of directories under the current directory. cat Command : Displays the task list under a specific path. rmt Command : Deletes task with the given display index. --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: