Zhang Yilin - Project Portfolio Page
Overview
Our product, 25HoursADay is a scheduling application catered for NUS students.
It is optimised for use via the Command Line Interface (CLI) and it serves as an efficient one stop application for our users to manage their time.
Given below are my contributions to the project.
Summary of Contributions
Code contributed:
Enhancements implemented:
-
Added ability to save and load data to local file. (#17, #31, #58, #90)
- What it does: Add the ability to store the changed data to a local file and load the data to the application when the application opens.
- Justification: The feature improve the application significantly as it can let users store the data they have already written to the program, which increase the efficiency of the application.
- Highlights: This feature is able to store the changed data locally even if user accidentally close the application. Also, if the user wants to switch to another device, he or she can copy and paste the content to that device, so that the other device could store exactly the same information.
-
Added ability to print the countdown for exams and deadlines. (#77, #168)
- What it does: Add the ability to print the countdown for deadline tasks and exam events. User can decide to print only the countdown for only the deadline task or exam events or both.
- Justification: This feature allows user to view how much time is left for their deadline and exams so that they can better prepare for them.
- Highlights: This feature is able to print countdown in the ascending order, so that the most urgent task or event is at the top. If the deadline or exam date is within a day, countdown command will print out messages like 'its time to speed up' or 'try your best' to encourage the user.
-
Added more JavaDoc comments for some public methods. (#73)
-
Improved the quality of code by deleting unused methods, avoiding too long methods, magic string and unused exceptions. (#60)
-
Wrote Junit tests to increase coverage. (#87)
Contributions to team-based tasks:
- Reviewed team members' PR, and gave them some suggestions. (#86, #30)
- Fixed the code regularly to make sure it passes CI on GitHub.
Contributions to documentation:
Contributions to the Developer Guide:
- Added an introduction to the Developer Guide. (#118)
- Added implementation for the feature
saving data
,print countdown
. (#129, #186, #187, #200, ) - Added sequence diagram
save data
,load data
for featuresaving data
, and featureprint countdown
. (#128, #183, #190) - Added the glossary for Developer Guide. (#119)
- Added part of the user stories. (#171)
- Added part of the user manual testing. (#309)
Contributions to the User Guide:
- Documented features
saving the data
, as well as featurecountdown deadlines
, featurecountdown exams
, and featurecountdown
in printing countdown. (#169) - Documented the FAQ part of user guide. (#169)