Lee Zhi Xuan's Project Portfolio Page
Project: CONNECTIONS
CONNECTIONS is a desktop app adapted from AddressBook - Level 3 for managing contacts and keeping track of birthdays. It is optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI) that is created with JavaFX. It is written in Java and has about 10 KLOC.
Given below are my contributions to the project.
- New Feature: FindAny
- What it does:
- FindAny is a command that allows users to apply an ‘OR’ filter with the search terms they have provided.
- Justification:
- “OR” search retrieves records that include either terms searched for. Using OR broadens a search and thus returns more results.
This way, users will be able to filter contacts with greater flexibility.
- “OR” search retrieves records that include either terms searched for. Using OR broadens a search and thus returns more results.
This way, users will be able to filter contacts with greater flexibility.
- What it does:
- New Attribute: Birthday
- What it does:
- The birthday attribute records the date of birth of a contact.
- Justification:
- Our target audience is people who love celebrating birthdays. It is natural for them to want to keep a
record of the birthdays of their contacts. This way, they will never miss a birthday.
- Our target audience is people who love celebrating birthdays. It is natural for them to want to keep a
record of the birthdays of their contacts. This way, they will never miss a birthday.
- What it does:
-
Code contributed: RepoSense link
- Project management:
- Set up Github Pages.
- Created and assigned issues for milestone
v1.3
.
- Enhancements to existing features:
- Redefine equality amongst contacts.
- Previously, equality between two contacts hinged on the fact that they had the same name. Since people can have friends with the same name but unique phone numbers, I changed CONNECTIONS to check for phone numbers instead to raise possible duplicate contacts.
- Revamp Find
- Find (‘AND’-search) and FindAny (‘OR’-search) can be applied names and/or tags.
- Case Sensitivity to search (Find/FindAny).
- Users can now opt for case-sensitive searches on Tags using the
c/
flag.
- Users can now opt for case-sensitive searches on Tags using the
- Wrote unit and integration tests for existing features.
- Increase coverage from 72.15% to 72.59% (+0.43%). (Pull request #49)
- Increase coverage from 75.01% to 72.14% (+0.14%). (Pull request #69)
- Increase coverage from 73.69% to 74.31% (+0.62%). (Pull request #86)
- Increase coverage from 74.31% to 74.52% (+0.20%). (Pull request #101)
- Increase coverage from 70.83% to 71.15% (+0.32%). (Pull request #201)
- Redefine equality amongst contacts.
- Documentation:
- User Guide:
- Developer Guide:
- Polished User & Developer Guide. (Pull request #205)
- Community: