semester.config is a desktop application for managing your tasks. While it has a GUI, most of the user interactions happen using a CLI (Command Line Interface).
Summary Of Contributions
Code Contributed: You can see my contribution here.
Enhancements implemented
I implemented 3 main features:
DeadlineDate
,DeadlineTime
, andStatus
attributes for Task which will be useful for users;done
command to indicate a task in all tasks list to be done; and,dueIn
command will filter tasks that are due within a certain number of days usingDeadlineDateInRangePredicate
.
Enhancement 1: DeadlineDate
,DeadlineTime
, and Status
attributes
- What it does: Allows the user to add, edit, and sort the Task based on these attributes.
- Justification: Useful for
sort
anddueIn
commands. - Highlights :
The
DeadlineDate
ensures date that are not earlier than today’s date as well as valid date (for instance 29-02-2021 will be rejected) using the help ofjava.time.LocalDate
.
Enhancement 2: done
command
- What it does: Allows the user to toggle the status of
Task
to be finished or unfinished. - Justification: If the user wrongly mark a
Task
as done, the toggling effect ofDone
command prevent user of having to useEdit
command. - Highlights:
The toggle of
Status
class use functional programming paradigm(not modifying current object, but rather creating new object) to prevent side effects.
Enhancement 3: dueIn
command
- What it does: Filters tasks that have deadlines within certain number of days/weeks.
- Justification: Some users might want to check assignments within a certain day/week.
- Highlights: Using the command without specifying params will automatically list tasks within
the next 7 days.
Contributions to the UG
- I am the one who initially refactored the UG (removing the ‘AddressBook’ and change with ‘TaskList’, change the name of attributes used, etc).
- Added
dueIn
anddone
command to list of features.Contributions to the DG
- I am the one who initially refactored the DG (removing the ‘AddressBook’ and change with ‘TaskList’, modify the existing UML diagrams, updating PUMLs)
- Adding
dueIn
section of the DG. - In charge of NFRs.
- In charge of UI component.
- In charge of creating and verifying all UML diagrams.
Contributions to team-based tasks
- I usually created a new Google docs for every team meeting.
- I am the one who mostly merged pull requests, and I’ll inform my teammates if their PRs failed the CI or testing.
- I tried to fulfill the tP progress dashboard before the tutorial’s deadline (closing issues that haven’t been done and creating new milestones).
- Add tests for :
XYZCommandParsers
which increases code coverage by 6%seedu.address.common
functionsDeadlineDate
,DeadlineTime
, andStatus
attributes
- Released JAR file for V1.3.
- During PE-D, reported 22 bugs. 6 are considered
Medium
orHigh
as they are unhandled exceptions.Contributions beyond the project team
I asked several questions on the forum which might helped other who have similar questions.
Contributions to the Developer Guide (Extracts)
I drew 2 UML diagrams from scratch. These are:
dueIn
sequence diagram
sort
sequence diagram
I also updated all the UML diagrams given by AddressBook3. Most notable ones are:
undo
sequence diagram
Model
class diagram