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 supportgroupfunctionalities ofjoinG,editG,remove,deleteG. - New Feature :
Added ability to add multiple people to an existing group in ThunderCat through thejoinGcommand.- 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 supporttaskfunctionalities ofaddT,doneTanddeleteT. - New Feature :
Added ability for users to delete ataskfrom a specified group in ThunderCat through thedeleteTcommand.- 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,UniqueGroupListandTaskclasses 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
groupandtask. - 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.4on 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: