Nikki Than Win's Project Portfolio Page
Project: Thunder Cats
ThunderCat (TC) is a desktop app designed for Year 2 Computing Students. The application acts as an address book for contacts with added support for group projects. You can manage contacts, organise them into project groups and manage your tasks according to those groups.
ThunderCat also acts as a tool for Year 2 Computing Students to build up their confidence in using a Command Line Interface (CLI) to navigate applications and manipulating JSON files - a popular data file format widely used in Computing.
Given below are my contributions to the project.
Added Features
- New Feature :
Added ability for Thunder Cat to supportgroup
functionalities ofjoinG
,editG
,remove
,deleteG
. - New Feature :
Added ability to add multiple people to an existing group in ThunderCat through thejoinG
command.- What it does: Allows the User to add multiple people to a single group in a single go.
- Justification: This feature prevents Users from having to keep using a single command to add a group mate one at a time. This would make the task of adding group mates much faster and intuitive.
- New Feature :
Added ability for Thunder Cat to supporttask
functionalities ofaddT
,doneT
anddeleteT
. - New Feature :
Added ability for users to delete atask
from a specified group in ThunderCat through thedeleteT
command.- What it does: Deletes a task from inside a group.
- Justification: This feature allows Users to remove tasks from the group information view if needed. In the case that users no longer need to keep track of the task, or they need to ammend the description of the task. They can simply just delete a task and add it again.
Added Enhancements
- Added JavaDoc comments to all existing classes and methods in command classes. \370
- Wrote comprehensive tests for all the features that I have implemented.
Contribution to team-based tasks
- Ideated the idea to have a group project based application. With the focus on allowing users to practice CLI and manipulating JSON files.
- Specifically added the
Group
,UniqueGroupList
andTask
classes to lay the groundwork for my team to add further functionalities to groups and tasks. - Team-mates were able to work with a black box and trust that I would be able to implement what they needed in order to implement functions and commands for
group
andtask
. - Establish meeting agenda for each meeting so that our team meetings are effective and we stay on task.
-
Finalised the name, icon and display of the application.
-
Code contributed: RepoSense link
- Project management:
- Managed releases
v1.2
,v1.2.1
,v1.3
,v1.4
on GitHub - Reviewed pull requests
- Regularly created issues on Github to review potential improvements and bugs of the application.
- Managed releases
- Documentation:
- User Guide:
- Developer Guide: