Lim Junxue's Project Portfolio Page
Project: PlanIT
PlanIT is a task managing application made specially for NUS computing students. Our goal is to improve students’ productivity with features and tools to help them manage their schedules. It features a calendar to provide a clear perspective of the user’s schedule and common commands that are enhanced for fast typists.
Summary of Contributions:
-
Code contributed: RepoSense Link
- New Feature: Added the ability to type multiline descriptions in tasks.
- What it does: allows users to add descriptions to describe their tasks, and use keys to create multiple lines.
- Justification: This feature improves the use case of adding tasks to the planner because users may want to add long descriptions, and it provides a way to format their text better.
- New Feature: Created a visual tag list.
- What it does: Keeps track of the current tags used in the task list.
- Justification: This feature is important in saving time spent looking for tags to reuse, because tags help to organise tasks and the user should not need to scroll through the entire task list to find a tag to reuse.
- Highlights: This feature required a seperate
UniqueTagList
similar toUniqueTaskList
stored in the planner of theModel
because many commands can change tags. This is implemented with the Observer’s pattern such that the UI is able to track its changes through theModel
.
- New Feature: Added a view date command.
- What it does: allows users to view the tasks that fall on a specific date. Brings the calendar to that date.
- Justification: This feature is essential in helping users get their schedules for the day, and enables further task management and tracking.
- New Feature: Created a calendar, and
prev
andnext
commands for navigation.- Justification: This feature complements the view day command in providing a clear picture of the tasks on the day and aid the user in scheduling for the upcoming days.
- Highlights: The calendar also uses the Observer’s pattern as it implements an
Observer
interface that communicates with anObservable
date that the view day command provides. Thus, the calendar can react to changes in this date, or otherwise remain in the same state.
- Enhancements to existing features:
- Documentation:
- User Guide:
- Added documentation for the features
mk
,edit
,view
and calendar controls. - Repackaged the attributes of
Task
into a neater table.
- Added documentation for the features
- Developer Guide:
- Updated all class diagrams under “Design” to correspond to PlanIT.
- Added implementation details of the tag list, and the
view
feature coupled with the calendar.
- User Guide:
- Contribution to team-based tasks:
- Community:
- Contributed to forum discussions (examples: 1)