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
UniqueTagListsimilar toUniqueTaskListstored in the planner of theModelbecause 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
prevandnextcommands 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
Observerinterface that communicates with anObservabledate 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,viewand calendar controls. - Repackaged the attributes of
Taskinto 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
viewfeature coupled with the calendar.
- User Guide:
- Contribution to team-based tasks:
- Community:
- Contributed to forum discussions (examples: 1)