Chan Wei Ling - Project Portfolio Page
Overview
My team of 4 software engineering students and I have 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 summarises my contributions in terms of documentation, coding and other significant matters to the team project.
Enhancements Implemented
1. Sprint Management
I have implemented a set of commands to facilitate the management of Sprints (Iterations broken down from a project), which covers functionalities such as Add/Edit Sprints, Add/Remove tasks to Sprints, Allocate/Deallocate tasks to members. I have also added support to execute these commands across multiple projects/sprints, in accordance to our teams version 2.0 update for multiple project management.
Pull Request: #33 #67 #71 #91 #112 #123
2. Parsers
In regard to sprint creations, a date object is required to facilitate the duration for each Sprint. Thus, I have implemented a DateTime parser that will parse a user input (String) to the required format (DateTime/LocalDate). The parser will pint custom error for invalid dates in correct format. (E.g. 20200231) to better inform user about the incorrect input. In addition, the parser also includes a method that will calculate the difference between two LocalDate object.
A SprintParser (extended Parser) is also added to facilitate parsing and validation of user specified parameters for all Sprint related commands.
3. Logger
I have also updated the test logger which previous I added for v1.0 into ScrumLogger which can be used to facilitate all logging activities for the whole program.
4. Ui
At the initial phase of the project, I was in charged of break down the project into major components (Main, Ui, Parser, Command and Model). I was therefore assigned to work on the Ui component to add the basic skeleton code to receive input/deliver output to users. In addition, I was in charged of designing the output (toString()) of all the model classes to facilitate the printing of command output.
Pull Request: #60 #71 #123 #224
1. Other minor enhancements
- Standardise the program workflow to integrate all components (Ui, Parser, Commands, Model) #39 #60
- Associate model classes together #60 #112
- JUnit Test scripts for SprintCommands #71 #193
- Segregate validation tasks for Parser and Command class. #123
- Bug fix to prepare for PE dry run. #135
Documentation
User Guide
- Add detailed guide for all Sprint Commands
- Add navigability by including hyperlinks for Table of Contents.
- Add Command Summary.
- Standardise format for command description.
- Standardise formats for user guide (Bulletin, numbering and Table of Contents)
- Update guide for all Sprint Commands V2.0
- Update 4. Command Summary.
Developer Guide
- Model component
- Updated model component section under Architecture
- Sprint related implementation
- Added description for all Sprint Commands (Pull Request: #129)
Other Contributions
- Reviewed bugs for other team's developer guide. [CS2113T-F14-4] NUSchedule
- Reported bugs for other team's program during PE dry run. [CS2113-T13-3] WhereGotTime' bugs
Code contributed: Link