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
ParserManagerfor more use of OOP and increase overall cohesion and decrease coupling of classes. (Pull requests #97, #114) - Added JUnit tests for
ParserManagerand the subparsers. (Pull requests #65, #197) - Added logging for
ParserManagerandHelpCommandand 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,HelpCommandandScrumptiousExceptionclasses 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