Project: KanBug Tracker

Overview

This portfolio page highlights my contributions to KanBug Tracker - a Software Engineering project developed as part of the module CS2103T during my second year of undergraduate studies in the National University of Singapore.

About the Team

We are five Year 2 Computer Science undergraduates reading CS2103T: Software Engineering.

About the project

KanBug Tracker is a lightweight, easy to use bug management tool that aims to empower developers to keep better track of the bugs in their projects. It provides users not only with a convenient way to record their bugs, but also allows them to better coordinate their efforts between various bugs and track the state of each bug throughout its lifecycle. The team has also developed various other user-centric features to provide our users with the functionality they need to empower their bug tracking efforts.

Summary of contributions

  • New Feature: I implemented the ability to search bugs based on the given query-string via search command.

    • What it does: The feature provides the user with the ability to sort out a list of bugs that contain your given input.

    • Justification: This feature improves Kanbug Tracker remarkably since users now have a direct and fast method to find out a particular bug. Without this feature, users might have to manually find a bug among a very long list of existing bugs, which is very time-consuming. Therefore, this saves the users invaluable time, helping them to enhance the efficiency and productivity.

    • Highlight: This enhancement requires an in-depth knowledge of the Logic and Model component’s architecture in the codebase, the use of Java Predicate and how the different components within it interact and function.

  • New Feature: I implemented the code segregation of UI between Kanban board view and List view, improved the visual of both windows.

    • What it does: The implementation allows modifications and extensions for both window options without being dependent on each other.
    • Justification: This implementation is essential because there are some fields in this window that should not be included in the other. Besides, with further UI enhancement in the color theme, the application provides greater experiences to the users.
    • Highlight: This enhancement requires an in-depth understanding of JavaFX and CSS syntax which is more complicated compared to typical Java practices and how the GUI interacts with the internal logic.
  • New Feature: I partially implemented the ability to move a bug to another state via move command.

    • What it does: The feature provides the user with the ability to move a particular bug from the current state to a new state.

    • Justification: This feature helps users significantly regarding the process of managing a huge list of bugs. Without this feature, it is cumbersome to categorize each bug in term of its state of progress during each stage of software development. This helps the users to gain high efficiency in the process of tracking bugs.

  • Code contributed: You can view my functional code and test code contributions to KanBug Tracker here

  • Other contributions:

    • Enhancements to existing features:
      • Refactored multiple relevant classes, methods, instances from AB3 to KanBug Tracker.
    • Project management:
      • As in-charge of Scheduling and Tracking, I set up four milestones with appropriate delivery for each, created required labels/tags, monitored to create and assign Github issues to relevant members. Additionally, I ensured that no issues are expired in a specified milestone. To achieve this, I would inform my teammates when they had not finished the assigned tasks right after the internal deadline.
      • Ensured that every member of the team has completed their weekly tasks that involves Github issues on the CS2103T website before the deadline.
      • Contributed implementation ideas/alternatives, brainstorming user stories for multiple main features of the application.
    • Documentation:
      • Wrote the sections for search and clear commands in KanBug Tracker’s User Guide. (#166, #270)
      • Wrote the Use Case and Implementation for search command, Non-Functional Requirements and Glossary sections in KanBug Tracker’s Developer Guide. (#119, #172, #241, #263)
    • Beyond the team: