darkdestry-t's Project Portfolio Page
Project: A-Bash Book
A-Bash Book is a desktop address book application intended for anyone to search and insert into a centralized address book easily. It is targeted at technical professionals and have its CLI commands made to be bash-like to streamline the learning process.
Given below are my contributions to the project.
- New Feature: Added fuzzy search to find command with specific field searches of some data fields
- What it does: allows the user to search without exact match of string to specific fields, mainly the email, remarks, name and tags fields.
- Justification: This feature improves the usage of the program as people can type in spelling mistakes and still find the relevant info. It also allow for similar names to be returned in the case where the user cannot remember the exact spelling of the contact.
- Highlights: This enhancement requires balancing the similarity index to the expected output. Certain metrics such as one way partial matching were used to prevent backwards matching from data to query.
- Credits: FuzzyWuzzy library was used to provide partial matching.
- New Feature: Added field specific search and general search to the find command
- What it does: allows the user to find specific fields as well as to search all the fields simultaneously.
- Justification: This feature allows the user to narrow down their search results to a specific field or to search generally when they are not sure where the information may be located.
- Highlights: Parser modification poses certain challenges when having to shuffle between creation of different predicates for each field. General search composites all the predicates together to a super-predicate.
-
Code contributed: RepoSense link
- Project management:
- Managed releases
v1.2.1
-v1.4.0
(3 releases) on GitHub
- Managed releases
- Enhancements to existing features:
- Documentation:
- Community:
- PRs reviewed (with non-trivial review comments): #95
- Tools:
- Integrated a third party library (FuzzyWuzzy) to the project (#76)