Ding You Jia, Danelynn's Project Portfolio Page
Project: SOChedule
SOChedule is a one-stop solution for NUS School of Computing (SoC) students to manage their tasks and events effectively. Targeted at users who can type fast and prefer typing to mouse input, SOChedule is optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).
Given below are my contributions to the project.
- New Feature 1: Added the ability to find the free time slots of a given date.
- What it does: allows the users to get a list of free time slots of a given date.
- Justification: This enhancement is useful for users to locate the time which they can slot a new task or event in. This also allows users to have an overall view of his or her free time for the day. This is especially pertinent when users have a significant number of tasks, and scrolling becomes unpractical.
- Highlights: The implementation requires knowledge from date structure course, and the logic involved is complex. Many helper functions were implemented in the
UniqueEventList
class.
- New Feature 2: Added the ability to get a summary for task completion status and the events happening in the next 7 days.
- What it does: allows the users to have a summary of task completion status up to current date and the events happening in the next 7 days.
- Justification: This enhancement is useful for users to have an overview of their progress in completing the tasks as well as what events are going to happen in the next 7 days.
- Highlights: The implementation was non-trivial as it required several helper functions in counting different types of tasks, namely,
completed tasks
,overdue tasks
andtasks to be completed before deadline
, to multiple parts of SOChedule. Helper functions in counting the number of events happening in the next 7 days were also implemented.
-
Code contributed: RepoSense link
- Project management:
- Ensured tasks are assigned fairly
- Brainstormed ideas for different features
- Enhancements to existing features:
- Contributed to the overhaul of previous codebase to current needs - Model (Pull requests #45, #65, #77)
- Continuous addition and update of unit tests throughout development to improve test coverage (Pull requests #76, #121, #159, #168, #222)
- Updated UI to suit SOChedule (Pull requests #107, #115, #185, #196, #204)
- Squashed bugs as and when they are found (Pull requests #313, #314, #315)
- Documentation:
- User Guide:
- Developer Guide:
- Community: