Project: 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.
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. It is tailor-made to mimic the familiar terminal experience for our target users by introducing Linux-style commands, Dynamic commands and a terminal like structure and interface. It is written in Java, and has about 10 kLoC.
RepoSense Report
Link to my RepoSense Report:
Code Contributions.
Code Contributions
In this section, I will outline the code contributions I made to the project. These contributions include enhancements
and new features that I implemented.
Class Enhancements
Given below are my contributions to the project.
Introduced Storage
Class :
- Provides methods to convert ProfBook application to Json format and read it back into our project upon start up.
- Each part of ProfBook storage is managed by seperate classes within storage such as
Root
managed by JsonAdaptedRoot
. Group
managed by JsonAdaptedGroup
. Student
managed by JsonAdaptedStudent
. Task
managed by JsonAdaptedTasks
. Deadline
managed by JsonAdaptedDeadline
. ToDo
managed by JsonAdaptedToDo
. - Overall storage managed by
ProfBookStorageManager
.
Introduced task
package :
- Contains classes which control tasks for Groups and students, e.g
Todo
, Deadline
. - Controls behaviour of the tasks itself
- Contains methods to manage and change each task as well as the taskList
User Guide Contributions
Non-Feature Aspects
- How to use User Guide
- Exciting future developments
Feature Aspects
todo
command deadline
command mark
command
Developer Guide Contributions
Storage component:
- Changed UML diagram for storage to better match our ProfBook implementation of storage.
- Explained the storage component briefly.
Task component:
- Added UML diagrams for Task package to describe the structure of out task package.
- Described briefly the task component with explanation to how it links to the product.
Use cases:
- Added use cases to show possible workflow.
Non-Functional Requirements:
- Added non-functional requirements to the applications to describe our system capabilities and constraints.
User stories:
- Added User stories to the DG to articulate how our features will be valuable to a customer.
- Added it in the form of a table with a priority level, and the level of experience of the user.
Glossary:
- Added glossary of the terms used in our project for users to better understand our product.
Team-Based Task Contributions
- Transfer user stories with description from Google Docs to GitHub.
- Handled v1.3 release.
- After Pe-D handled bug management and kept track of issues.
- Added in glossary, User stories, NFRs to the developer guide.
Review and Mentoring Contributions
Here are the pull requests I reviewed and provided valuable feedback and suggestions:
Pull Request #269|
Pull Request #262|
Pull Request #91|