Sean Tan’s Project Portfolio Page

Project: EZ Manager

EZ Manager is a CLI project management tool for software managers that allows them to manage the projects and members on their teams.

This documents highlights my contributions to EZ Manager.

Code Contributed

Sean’s RepoSense

Features added

Architecture

Implementation of App’s Parser

My main enhancement was concentrated around the app’s architecture. I advocated the team move most of the logic to the individual command classes for iterative and independent development. I implemented the app’s parser to support this. In getParams(), a generic regex allows for retrieving any parameters for any command. With the parameters stored in a hashmap, I then sent this hashmap to the command classes in getCommand(). Furthermore, this meant that the user can specify parameters in any order. This made development so much easier for my teammates as they can concentrate on writing the logic of command execution with parsing done.

Refactoring of App

I restructured the app to make it more user-friendly. Previously, there were team member list, tasks list and project list. Users were prone to confusion due to multiple lists that showed only limited information. I advocated for the team to implement Home View and Project View and replaced the List Command to display these views. Additionally, I designed mockups for the team so they understood what I meant. With this change, users immediately know which view they are in and which commands they could execute.

Classes written

Contributions to User Guide (UG)

My contributions were the following:

Contributions to Developer Guide (UG)

My contributions were the following:

Major Additional enhancements to codebase

#16 - Added project pointer to keep track of currently selected project

#49 - Reduced task coupling by eliminating the need for a separate class to contain tasks.

#167 - Reduced user confusion by having list command display home and project view instead of separate lists for managers and tasks.

#208 - Added Javadocs to Task Classes

Contributions to Team-Based Tasks

Contributions to reviewing/mentoring

Of the 71 closed pull requests as of 7th November, I reviewed 34. In many of these pull requests, I looked through the code line-by-line and noted down issues or areas where the new code did not fit in well with the rest of the codebase.

https://github.com/AY2021S1-CS2113T-T09-1/tp/pulls?q=is%3Apr+is%3Aclosed+reviewed-by%3Athatseant