Elijah Chia's Project Portfolio Page
Project: FriendBook
FriendBook - is a desktop app for managing friend contacts and plan details, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI) created with JavaFX. If you can type fast, FriendBook can get your plans management done faster than traditional GUI apps. It is written in Java, and has about 17kLoC.
Given below are my contributions to the project.
- New Feature: Implemented the Plan, PlanDateTime, PlanName classes.
- What it does: Supports the implementation of the all plan-related commands.
- Justification: The plan-related classes is FriendBook’s unique selling point, which makes it a viable application for everyone who has things to do.
- Highlights:
- The
isSamePlan
method supportsedit-plan
andadd-plan
by ensuring that duplicate plans are not entered into FriendBook. - The
PlanDateTime
class contains extensive checking to ensure that only valid date-times are entered into FriendBook be the user.
- The
- New Feature: Added JavaFX code for the Plans panel.
- What it does: Provides the user with a GUI to see their plans.
- Justification: The Plans panel allows the user to see their plans without using the terminal.
- Highlights:
- Above the list of plans, a header “Upcoming Plans” was included to make the application more self-explanatory.
- PlanListPanel allows users to scroll through their plans if they have too many.
- PlanListPanel responds to
list-plan
,delete-plan
,add-plan
andedit-plan
commands.
-
Code contributed: RepoSense Link
- Project management:
- Suggested features for v1.2 and v1.3
- Suggested object-oriented designs for new features
- Enhancements to existing features:
- Added initial welcome message to the GUI, prompting users to use the ‘help’ button on launching the app.
- Added extensive testing for plan-related classes, such as
PlanDateTime
andPlanName
. - Modified the
isSamePlan
function to check for all fields, instead of justPlanName
.
- Documentation:
- User Guide:
- Added sidebar navigation for User Guide.
- Added page breaks to print PDF version of User Guide.
- Developer Guide:
- Added template documentation for
add-plan
,edit-plan
anddelete-plan
. - Completed documentation for
add-plan
. - Added sequence diagrams for
AddPlanCommand
,EditPlanCommand
andDeletePlanCommand
, and activity diagram forAddPlanCommand
. - Added page breaks to print PDF version of Developer Guide.
- Added template documentation for
- User Guide:
- Community:
- Suggested possible alternative to answers during tutorial sessions.
- Found multiple high-severity bugs in peer projects during PE dry run.
- Tools:
- CSS and JavaFX for design of FriendBook GUI