Muhammad Niaaz Wahab' Project Portfolio Page
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.
Code contributed:
- Code contributed: RepoSense link
Enhancements / Features implemented:
-
Model modification: Added the Person model and its attributes. (Pull requests #13, #17)
- Model modification : Refactored some attributes for Person in AB3 to attributes for Project in Taskmania
. (Pull requests #66, #74, #80)
- What it means: refactors person.Name -> project.ProjectName, person.Address -> project.ProjectDescription, person.Tags -> project.ProjectTags
- New Feature : Create new Command to add Teammates to a project. (Pull requests #98 )
- What it means: Command allows teammates to be added to a project, with associations created between project and person
- New Feature : Create new Command to edit Teammates (Pull requests #123)
- Changes made:
- EditTeammate now can change attributes of Teammates
- Changes made:
- Enhancements to existing features : Update tests for Teammate Commands (Pull requests #141)
- Changes made:
- Tests added to increase path coverage for Teammate classes
- Changes made:
- New Feature : Create new Command to delete Teammates (Pull requests #185)
- Challenges:
- Deletion initially ran into errors as it would throw a null pointer exception which took me a long time to trace to the participation.
- Challenges:
- New Feature : Create new Command to add an existing teammate to another project (Pull requests
#253)
- Changes made:
- Existing teammates can now be added to projects.
- Changes made:
- New Feature : Create new Command to delete a teammate’s participation in another project (Pull requests
#254)
- Changes made:
- Teammate participation in a project can now be deleted.
- Changes made:
- Enhancement : Add tests for Teammate associated classes. (Pull requests #283)
- Changes made:
- Tests added to ensure Teammate associated classes working properly.
- Challenges:
- Tests would fail on Mac, but pass on Windows and ubuntu. I came to the realization that maybe, some of these tests were being run concurrently, and the global variables were shared when the tests were run, speficially on Mac. I then changed tact and tried to clear the memory of Person or Project classes in between tests in such a method that finally worked and allowed the tests to pass on Github. Another friend of mine also encountered such an issue, and with my suggestions, she was able to narrow down the problem and fix it too for herself.
- Changes made:
Contributions to UG / DG:
- User Guide:
- Developer Guide: