Jonathan Lam's Project Portfolio Page
Project: CodeConnect
Overview
CodeConnect is a specialised task management that can help NUS CS students keep track of their tasks in any modules and is linked to their local contacts to find students that take the same modules. This gives them an easy way to source for help within each module. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC. Given below are my contributions to the project.
Summary of Contributions
Code Contributed
Enhancements Implemented
- UI Improvements
    - Create two separate tabs for contacts and tasks list
- Tab focus will change according to previous command entered
        - additional parameter in CommandResultto determine which tab the command should focus upon execution
 
- additional parameter in 
- Create fxmlfiles forTaskListCardandTaskListPanel
- Edit MainWindowclass to contain both a contacts list and task list
 
- findccommand to search for contacts by name, module, or task- Create ModuleTakenPredicateandCanHelpWithTaskPredicateclasses- allows for searching contacts by module and task, on top of regular search by name feature
 
- Modify FindContactCommandParserclass- to parse for user entered prefix (n/,m/,ts/) and create the correct predicate used to contact searching during execution
- to handle erroneous inputs
 
- to parse for user entered prefix (
- Modify FindContactCommandclass- to detect wrong index when executing find contact by task index
 
 
- Create 
- savemecommand as a convenient alias to- findc ts/1- add switch case in CodeConnectParser for saveme
- add factory method to FindContactCommand
 
- add switch case in CodeConnectParser for 
- cleancommand to delete all completed tasks- add deleteCompletedTasksto the model interface and implementation
 
- add 
Contributions to UG
- Add guide for the following commands’ usage:
    - findc
- saveme
- clean
 
- Add list of prefixes to the end of UG
- UG tips, notes, and warnings about:
    - Deadline Formats
- Flexible Module Format
- Field Prefixes
- cleanVS- clearcommand distinction
- Tag and Module prefix usage
- Warning on clearcommand
 
Contributions to DG
- Add implementation guide for the find/findcfeature including:- UI screenshot
- Activity diagram (with PlantUML)
- Sequence diagram (with PlantUML)
- Design considerations regarding multiple search keywords
 
- Overall presentation
Contributions to Team-Based Tasks
- Release of v1.2.1
- UI changes
    - change app name to CodeConnect
 
Review/mentoring Contributions
- Primary reviewer for parnikkapore’s PRs
- Occasionally review other team members PRs