tsy24's Project Portfolio Page
Project: NurseyBook
Overview
NurseyBook is a desktop application made for nurses in nursing homes to aid them in managing contacts and tasks in their busy lives. It is part of a team project for CS2103T Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 20 kLoC.
Summary of Contributions
Given below are my contributions to the project.
- New Feature: Added the ability to undo/redo previous commands.
- What it does: Allows the user to undo previous commands one at a time. Preceding undo commands can be reversed by using the redo command.
- Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them.
- Highlights: This enhancement affects existing commands and commands to be added in the future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands and architecture. Copies of objects had to be created to save previous states.
- Credits: Solution was adapted from https://github.com/se-edu/addressbook-level4 and implemented with modifications
- New Feature: Added the ability to add and delete tags
- What it does: Allows the user to add or delete one or more tags
- Justification: This feature improves the product significantly because editing tags through
editElderly
clears all existing tags.addTag
allows users to add tags on top of existing ones anddeleteTag
allows users to only delete specified tags.
- New Feature: Added the ability to filter the elderly list by tags
- What it does: Allows the user to look for elderly based on one or more tags
- Justification: This feature increases the efficiency of searching for elderly on NurseyBook as the user can search for all elderly with the same tags or search for an elderly based on his tags.
- Highlights: This feature required a new way to test the
Elderly
objects. It required an in-depth analysis of design alternatives on how to store tags.
-
Code contributed: Around 4kLoC contribution to the project RepoSense link
- Enhancements to existing features:
- Partly responsible for major refactoring of
AddressBook
toNurseyBook
in project (Pull request #202)
- Partly responsible for major refactoring of
- Documentation:
- User Guide:
- Developer Guide:
- Added implementation details of the
filter
,undo
andredo
feature. (Pull requests #102, #113) - Updated the UML diagrams and description of the architecture of the application (Pull request #236)
- Reorganised and updated use cases (Pull request #236)
- Added glossary
- Added manual testing instructions for
filter
,addTag
,deleteTag
,undo
andredo
(Pull request #\261)
- Added implementation details of the
- Community: