Ho Ming Jun - Project Portfolio Page
Overview
My team of 4 software engineering students and I created a command line interface project managing software for our CS2113T team project. The app, called SCRUMptious, aims to help project managers handle their project teams efficiently with the help of the SCRUM methodology and digital technologies.
Summary of Contributions
This section shows a summary of my coding, documentation, and other helpful contributions to the team project.
Functionalities added: ParserManager
, Command
and several subparsers and subcommand classes.
I created a ParserManager
and Command
class with several subclasses for SCRUMptious to handle the user input.
The ParserManager
mainly parses the user input and checks to see what kind of Command
has been
given by the user. Subsequently, once the Command
has been identified, the ParserManager
then passes on the parameters to
the respective subparsers to validate the parameters. If the validation is unsuccessful, an error message with the corresponding details
will be printed out for the user to see. If validation is successful, the subparser will then call the respective Command
subclasses
before returning the respective Command
to the ParserManager
. After which, the ParserManager
will return the command to the
main Scrumptious
class for execution of the command.
(Pull requests #19, #90, #94, #97, #114)
Code contributed: Link to my codes.
Other contributions:
- Quality of life features:
- Enhancements to existing features:
- Apply SLAP to the
ParserManager
for more use of OOP and increase overall cohesion and decrease coupling of classes. (Pull requests #97, #114) - Added JUnit tests for
ParserManager
and the subparsers. (Pull requests #65, #197) - Added logging for
ParserManager
andHelpCommand
and it's subclasses. (Pull request #200)
- Apply SLAP to the
- Documentation:
- Set up the initial skeleton and format for the user guide markdown. (Pull requests #74, #99)
- Added help menu information to the user guide. (Pull requests #136, #246)
- Added logic component explanations and class diagrams to the developer guide. (Pull requests #125, #182, #211, #220, #245)
- Added JavaDoc comments to
ParserManager
,HelpCommand
andScrumptiousException
classes and subclasses. (Pull request #213) - Update user guide table of content anchors to ensure that the links to the respective headers work. (Pull request #214)
- Update developer guide table of content anchors to ensure that the links to the respective headers work. (Pull requests #227, #235, #239, #242)
- Community:
- Reviewed Developer Guide (with non-trivial comments): [CS2113T-F12-2] AniChan #54
- Reported bugs for other team during PE dry run: [CS2113-T16-3] Bugs