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: