Linus Tan's Project Portfolio Page
Project: CoDoc
CoDoc is a desktop contact management application. 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.8k LoC.
Summary of Contributions
- Code contributed: RepoSense
- Major Enhancement: Boosted
find
command. #74, #82, #94- What it does: Allows users to find contacts by their year and course.
- Justification: Enhances the search ability of users, so they can find contacts based on their year and course, on top of other attributes, enabling them to reach out to them for collaboration quicker and more effectively. This would be useful, especially when the user has many contacts.
- Highlights:
- Made finding to find by logical AND, both across different prefixes and within the same prefix. This follows the typical convention that websites use for their filters, e.g. Shopee and YouTube.
- Made it such that finding uses contains instead of containsWord as it is more commonly used, e.g.
Cmd-F
/Ctrl-F
also uses contains. - Made
find
command case-insensitive to allow users to search faster without having to press theCaps Lock
key.
- New Feature: Implemented clicking of tabs and PersonCard. #119
- What it does: Allows users to click on the PersonCard in the PersonListPanel to view the details on the right info panel and allows users to change tabs by clicking.
- Justification: Adds convenience for users on top of the
view
command. - Highlights:
- New Feature: Added default profile pictures. #119
- What it does: Improves aesthetics of CoDoc, can allow users to identify contacts by specific profile pictures as well.
- Justification: As much as we wanted to allow the user to be able to add their own preferred profile pictures, this allows each contact to have a semi-unique (allows duplicates) profile picture the moment it is added, eliminating the need for the user to add it manually every time.
- Highlights:
- Profile picture path is saved as a person’s attribute.
- They are randomly picked from a pool of 50 pictures when the person is added.
- Credits: The profile pictures were sourced from here.
- Enhancements to existing features:
- Modified
Tag
toSkill
to fit CoDoc’s value proposition better. #46 - Modified
Phone
toGithub
with relevant constraints, made optional. #56, #58 - Modified
Address
toLinkedin
with relevant constraints, made optional. #56, #64 - Modified
PersonListCard
and rearranged the details to improve user visibility. #119 - Added scroll to bottom when
Person
added so user can see its index for viewing. #160 - Created a new set of sample data that are relevant and complete, i.e. persons with valid attributes and lists of realistic modules and skills, to make it for appealing for users. #119
- Other improvements and bug fixes: #107, #122, #126, #127, #135, #147, #170
- Modified
- Documentation:
- User Guide:
- Developer Guide:
- Project management:
- Community:
- Reviewed, merged and commented on teammates’ PRs. PRs reviewed by me, My comments on PRs
- Opened and assigned issues to teammates and me. Issues opened by me, Issues assigned to me
- Reported bugs for other teams. PE-D