Wei Jie's Project Portfolio Page
Project: Uni-Fy
Uni-Fy is a desktop app for managing your university workload and it is designed by university students for university students. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.
Given below are my contributions to the project.
-
Code contributed: RepoSense link
- Creating the Date class
#74
#92
#121
#281
- I refactored the address field in AB3 to the date field of Task in Uni-Fy. Other than the usual name changes, a main thing that required to be changed was the validation regex. It is now changed to accept a proper YYYY-MM-DD format, while accepting only dates from a certain range to match that of recent academic semesters. On top of this validation regex, I also included
SimpleDateFormat
andLocalDateFormat
to check the validity of dates and to parse them respectively. The process was a tedious one, since there were numerous address fields in the whole codebase, and the original app being called ‘addressbook’ did not help. - Numerous test cases had to be changed as well, along with the data passed into them since the address field and date field are vastly different
- I refactored the address field in AB3 to the date field of Task in Uni-Fy. Other than the usual name changes, a main thing that required to be changed was the validation regex. It is now changed to accept a proper YYYY-MM-DD format, while accepting only dates from a certain range to match that of recent academic semesters. On top of this validation regex, I also included
- Creating the Time class
#90
- I refactored the phone field in AB3 to the time field of Task in Uni-Fy initially. Apart from name changes and minor validation regex edits, the handling and maintenance of the Time class were subsequently passed to another team member
- Numerous test cases had to be changed as well, along with the data passed into them since the phone field and time field are vastly different
- Removing the Email class
#93
- I removed the email field in AB3 to suit tasks in Uni-Fy
- Numerous test cases had to be removed as well, since this class/field is no longer present in the implementation of Uni-Fy
- Creating the WeeklyPanel
#86
- I created the weekly panel initially, which serves to store and display our daily panels
- The handling and maintenance of the weekly panel were subsequently passed to another team member, due to his proficiency in handling UI components
- Creating the DailyPanel
#86
- I created the daily panel initially, which serves to store and display the tasks specific to a day
- The handling and maintenance of the daily panel were subsequently passed to another team member, due to his proficiency in handling UI components
- Delete command
#194
- I enhanced the delete command to allow the deletion of multiple tasks simultaneously. Initially, the delete command only accepts a string containing one task number for deletion. It does not support the deletion of multiple tasks at once. In order to make things more efficient, multiple tasks can now be deleted at once such that users will not have to enter the same command a few times over should they decide to repeat the delete command
- Other than the
DeleteCommand
class, additional methods were added to theDeleteCommandParser
andParserUtil
classes to facilitate this enhancement - Numerous test cases had to be edited as well, along with the data passed into them, to facilitate this change. Problems in test cases were difficult to recognise, since
ParserUtil
now returns a list of indexes instead, and a lack of familiarity with the tests initially made it difficult to properly identify errors.
- Project management:
- Enhancements to existing features:
- Documentation:
- User Guide:
- Developer Guide:
- Community: