Lee Han Bin's Project Portfolio Page
Project: PlanIT
PlanIT is a task scheduling application targeted at NUS computing students. Our goal is to improve students’ productivity with features and tools to help them manage their schedules. It features simple and short commands that are enhanced for fast typists as well as features which focuses on solving our target audience’s problems.
Given below are my contributions to the project.
- New Feature:
Added the ability to add dates to a given task
- What it does: allows the user to have deadlines for each task
- Justification: This feature is one of the core of the product as a task manager requires task to have deadlines
- Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands.
- Testing: Added Unit tests to ensure code coverage and ensures that future changes will still be correct with CI.
- New Feature:
Added the ability to sort dates in the given list of task
- What it does: allows the user to have see whats the next task that is due
- Justification: This feature allows user to organise their task based on when it is due, giving users the ability to see due dates in ascending or descending order.
- Highlights:
The
sort
feature sorts the tasks based on the different dates of the tasks from the earliest task to the last task in chronological order. For tasks with no dates, they would appear last. - Testing: Added Unit tests to ensure code coverage and ensures that future changes will still be correct with CI.
- New Feature:
Added the ability to add duration to task
- What it does: allows the user to have a dedicated duration to finish the task
- Justification: This feature allows user to cater a period of time for the task
- Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands since it would have dependencies such as adding a duration would mean a required date to be added first.
- Testing: Added Unit tests to ensure code coverage and ensures that future changes will still be correct with CI.
-
Code contributed: RepoSense link
- Project management:
- Managed releases
v1.2
-v1.4
(3 releases) on GitHub - Necessary general code enhancements. e.g. Code Refactoring
- Maintain issue tracker.
- Managed releases
- Enhancements to existing features:
- Documentation:
- User Guide:
- Developer Guide:
- Contribution to team-based tasks:
- In charge of ensuring the fork workflow throughout the project.
- In charge of merging pull requests and ensuring that reviews for PRs are valid.
- Help set up the GitHub team org and repo.
- Managed issue tracker, assigning of issues and tagging of issues for PE-D.
- Organise team discussion to keep the project moving forward
- Ensured features implemented were user story focused and catered to the needs of users
- Community:
- Tools:
- Used JavaFX library and CSS and Canva extensively for the Graphic User Interface.