Project: Taskmania

Taskmania (based off AB3) is a desktop app for a project leader to manage team members and tasks to be finished in a software project, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, Taskmania can allow you to manage your team faster than a traditional point and click interface.

Given below are my contributions to the project.

  • Model modification: Refactored some attributes for Person in AB3 to attributes for Project in Taskmania.(Pull request #72, #76)
    • What it means: refactors person.Phone -> project.Deadline, person.Email -> project.RepoUrl
    • What changes made:
      • refactored based on attributes for Person in AB3;
      • changed all methods that has dependency on relevant attributes;
      • updated test cases accordingly.
  • Model modification: Showed the projects list during viewteammate. (Pull request #300)
    • What it means: makes the list panel on the left to show projects list instead of persons list during viewteammate
    • What changes made:
      • added the scoping of TEAMMATE to the scoping list in Model where the project list is enabled.
  • Model modification: Refactored Deadline class. (Pull request #302)
    • What changes made:
      • removed the function convertIntoDateTime;
      • added LocalDateTimeFormatter in Deadline class.
  • Model modification: Edited execute in command classes.(Pull request #312)
    • What it means: synchronised the updates of the project, task, teammate, participation on dashboards
    • What changes made:
      • if the instances mentioned above is edited or delete while they are displayed on dashboards, update the model class which holds the instances displayed;
      • created reset methods in model to reset the attributes.
      • updated test cases accordingly.
  • GUI modification: Enhanced the GUI for Milestone v1.2. (Pull request #101)
    • What it means: makes the GUI show the list of projects on the left half while the certain project profile is shown on the right half
    • What changes made:
      • removed the status of the ProjectCard;
      • removed the extra information of a project to be shown on the ProjectCard;
      • added a new attribute in ModelManager which is the project that will be shown on the project dashboard;
      • updated methods in dependent classes to allow access to the new attribute;
      • created a ProjectDashboard class and the corresponding ProjectDashboard.fxml file;
      • created a EmptyProjectDashboard class and the corresponding EmptyProjectDashboard.fxml file;
      • added these two instances to the MainWindow class;
      • updated test cases of the MainWindow class.
  • GUI modification: Enhanced the GUI for Milestone v1.3. (Pull request #150)
    • What it means: makes the GUI show the task, teammate on the rightmost dashboard
    • What changes made:
      • added new stackpane on the Mainwindow.fxml;
      • added a new attributes in ModelManager which are task and teammate that will be shown on the rightmost attributes dashboard;
      • updated methods in dependent classes to allow access to the new attribute.
      • created a TaskDashboard class,TeammateDashboard class, the corresponding TaskDashboard.fxml file and the TeammateDashboard.fxml file;
      • refactor a EmptyProjectDashboard class to EmptyDashboard;
      • added these the rightAttributesDashboardPlaceHolder, TaskDashboard, TeammateDashboard to the MainWindow class;
      • updated test cases of the MainWindow class.
  • GUI modification: Enhanced the GUI for Milestone v1.3. (Pull request #178)
    • What it means: makes the GUI show the list of all tasks assigned to the teammate which are from all projects that the teammate is participating on the teammate dashboard
    • What changes made:
      • added flowpane named tasks in TeammateDashoboard.fxml;
  • GUI modification: Enhanced the GUI for Milestone v1.4. (Pull request #273, #308)
    • What it means: changes the color of GUI and the resize the layout
    • What changes made:
      • edited MainWindow.fxml;
  • GUI modification: Enhanced the GUI for Milestone v1.4. (Pull request #297)
    • What it means: makes the dashboards panel scrollable
    • What changes made:
      • added scroll panes with a stack pane nested inside to MainWindow class;
      • removed the stack pane of dashboard classes which are PersonDashboard class, TaskDashboard class, TeammateDashboard class.
  • New Feature:

  • Code contributed: RepoSense link

  • Project management:
    • Set up GitHub organization of team repository
  • Enhancements to existing features:

  • Documentation:
    • User Guide:
      • Added documentation for advanced task-related features. (Pull request #52)
      • Added documentation for viewtask, viewteammate, leaveTaskView, leaveTeammateView. (Pull request #167)
      • Edited documentation for Global scope features. (Pull request #322)
      • Update all images in UG (Pull request #327)
      • Edited documentation for Project scope features(5th-8th) (Pull request #329)
    • Developer Guide:
      • Came up with the outline of Use Cases. (Pull request #53)
      • Wrote the Use Cases for first draft of ProjectProfile Tracking System. (Pull request #53)
      • Wrote the Use Cases for first draft of Team Members Tracking System. (Pull request #53)
      • Edit the Ui section (Pull request #169)
      • Wrote the Launch and Shutdown. (Pull request #169)
      • Edited for new task feature. (Pull request #350)
  • Community:
    • Set up milestones in GitHub