Ng Hong Ming - 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.
Summary of Contributions
Code contributed:
New Features implemented:
Establishing the overall structure of the code
Created the CalendarList
, CalendarItem
, SchoolEvent
, Exam
, Lab
, Tutorial
, Lecture
classes, separating
the Event
class and the Task
class. #27
- Highlights: It requires heavy change to the existing features to fit the new design. (Changing from the task list in Duke to a new Calendar list. Changing existing features to fit a specific class ie. mark as done only works for tasks.#47)
- Credits: The team came up with the class diagram for the CalendarList together. The overall design of the code is reused from my iP's code.
Additional information for event class
- What it does: Users are able to add/view/delete a list of information pertaining to the event
- Justification: This feature is unique and useful as it serves as a one stop application to store all data in your calendar.
Enhancements to existing features implemented:
-
Find Feature #74
- What it does: Users can use a keyword to search for an item from their list of tasks, or their list of events or the entire calendar list.
- Justification: Users can narrow their search based on the item.
-
Delete Feature #47
- What it does: Users can delete an event or a task.
- Justification: As the users can view their events list and task lists, they can remove unwanted tasks or events based on the indexing of the task/event in the task/event list.
-
Wrote additional tests for existing features to increase coverage. #81
Contributions to documentation:
- User Guide
- Wrote the Important Notes section.
- Documented the following features: [5.3]Marking a task as done, [5.5] Adding additional information of an event , [5.6] Deleting a calendar item, [5.7] Finding a calendar item.
- Developer Guide
- Co-written the Design section with Jiawen. Added all diagrams (Architecture diagram, example sequence diagram (SD), class diagrams) in the Design section.
- Documented the following features and added their respective sequence diagrams in the Implementation section : Add a calendar item feature, Mark a task as done feature, Additional information of an event feature, Delete a calendar item feature and Find a calendar item feature.
- Documented part of the user stories.
Contributions to team-based tasks:
- Manage issue tracker (allocating and closing issues), closing of milestones V1.0 and V2.0.
- Release management: Release V1.0 and V2.0.
- Update the code as well as test files regularly to make sure it passes CI on GitHub.