Sean's Project Portfolio Page
Project: NUS Classes
NUS Classes is an all-in-one task and contacts organizer for NUS Computing professors. It is written in Java.
Given below are my contributions to the project.
- New feature: Implement the model and storage parts to facilitate a
Taskentity- What it does: Allow users to add their tasks to NUS Classes.
- Justification: Users can use the feature to be well organised with their tasks
- New Feature: Assign, unassign command
- What it does: Allow users to assign and unassign contacts from tasks
- Justification: Users can use the feature for bookkeeping purposes as well as to facilitate other contact-related commands.
- Highlights: Users can use the
gencommand to easily generate and copy all emails related to a task for ease of communication.
- New Feature: Generate emails command
- What it does: Users can use the
gencommand to easily generate and copy all emails related to a task, then paste into their preferred email client. - Justification: Users have an easy way to contact all contacts related to a task in case urgent dissemination of information is required (e.g. in the event of unforeseen circumstances)
- What it does: Users can use the
- New Feature: Date and time range for events
- What it does: Users can specify a stand and end date and time for tasks (as opposed to just one single deadline) to represent events that occur during a specific interval.
- Justification: Users can easily keep track of start and end timings for events.
- New Feature: User-friendly date and time display
- What it does: Instead of displaying all dates in full e.g.
13 May 2022, 3.00pm - 13 May 2022, 5.00pm, dates are displayed relative to the current date - Examples:
Todayfor tasks that occur on the current calendar day,Fridayfor tasks that occur on the same week13 Apr(omitting the year for tasks that occur on the same calendar year)Today, 3.00 pm - 5.00 pm(not repeating the end date when it is the same as the start date)
- Justification: Dates are far more intuitive and easy to read for the user.
- What it does: Instead of displaying all dates in full e.g.
- New Feature: Import contacts from .csv
- What it does: Import contacts from a .csv file to create contacts in NUS Classes.
- Justification: It can be incredibly time-consuming and tedious to add all contacts manually.
- Highlights: Users can easily export contacts from a spreadsheet containing contacts and relevant headers to import the contacts into NUS Classes.
-
Code contributed: RepoSense link
- Project management:
- Managed all releases
v1.1-v1.4(4 releases) on GitHub
- Managed all releases
- Enhancements to existing features:
- Updates and deletions to contacts are propagated to all tasks to ensure consistency in the model side of things.
- Limit tag length to 50 characters to avoid UI bugging out (part of the tag getting obscured)
- Polish GUI text feedback (e.g. message usages, fix typos and phrase messages better)
- Adjust name constraints to allow symbols that are commonly present in names (e.g.
Martin Luther King, Jr.,Joseph Lewitt-Hewman,Raj s/o Rajesh) - Change
clearcommand to delete task data as well as contact data
- Documentation:
- User Guide:
- Added documentation for the features
clear,importandgen - Did cosmetic tweaks to existing documentation of features
clear,exit: #74
- Added documentation for the features
- Developer Guide:
- Added implementation details of the
deletecfeature. - Added design considerations for how tasks should be updated when contacts are deleted or updated.
- Updated text to reflect that the storage now handles both tasks and contacts
- Updated all UML class architecture diagrams to reflect the current status
- Added implementation details of the
- Readme.md, index.md
- Update links to CI and Codecov that was previously linking to AB-3
- User Guide:
- Community: