Chin Hong Ming's Project Portfolio Page
Project: Mass Linkers
Mass Linkers is a powerful Desktop application tool that provides a centralised platform for Computer Science (CS) students to find study support from batchmates with common modules. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java.
Given below are my contributions to the project.
New Enhancements: find: (Pull requests #75, #82)
- What it does: Find batchmates by their Telegram, GitHub, emails or phone numbers, with partially matching text input.
- Justification: It provides greater convenience to the users as they are not limited to finding based on names. Being able to find Telegram handles, GitHub usernames, emails and phone numbers with partially matching text input is reasonable as these items are unique to individuals.
- Highlights:
- Implemented
containsPartialWordIgnoreCasemethod inStringUtilto allow the finding of items with partially matching text. - Included test cases for
containsPartialWordIgnoreCaseinStringUtilTest.
- Implemented
New Enhancements: duplicate add and edit prevention: (Pull requests #207)
- What it does: Users may now add/edit to names that already exists in the Mass Linkers!
- Justification: Allowing identical names to coexist fits into the reality that people can share the same name. But Telegram handles, GitHub usernames, emails and phone numbers should be unique.
- Highlights:
- Updated
isSameStudentinStudentclass.
- Updated
New Feature: Mod Find (Pull requests #101)
- What it does: Finds and lists batchmates who have taken or are taking certain module(s).
- Justification: It allows users to effortlessly know the batchmates who have taken or are taking certain module(s).
- Highlights:
- Implemented
ModFindCommandto handle finding of batchmates who have taken or are taking certain module(s) - Modified
ModCommandParserto parsemod findcommand arguments. - Built test cases in
ModFindCommandTestforModFindCommand. - Included
mod findparser tests inModCommandParserTest. - Implemented
ModContainsKeywordsPredicateto support module finding.
- Implemented
New Feature: Mod Find Taken/Taken (Pull requests #132)
- What it does: Finds and lists batchmates who have taken/are taking certain module(s).
- Justification: It allows users to effortlessly know the batchmates who have taken/are taking certain module(s).
- Highlights:
- Modified
ModCommandParserto parsemod find takenandmod find takingcommand arguments. - Included
mod find takenandmod find takingparser tests inModCommandParserTest. - Implemented
ModTakenContainsKeywordsPredicateandModTakingContainsKeywordsPredicateto support this feature.
- Modified
Code contributed: RepoSense link
Project management:
- Set up the GitHub team org/repo
- Added issues for the team on GitHub.
- Facilitated the workflow on Git.
Documentation:
- User Guide: (Pull requests #248, #266)
- Worked on
find,mod find,mod find takenandmod find takingsections. - Proofread user guide for bugs.
- Worked on
- Developer Guide: (Pull requests #120)
- Responsible for
Mod find featurecategory. - Designed sequence diagram and activity diagram for
ModFindCommand. - Worked on glossary section.
- Proofread developer guide for bugs.
- Responsible for
Community:
- PRs reviewed (with non-trivial review comments): #42
- Contributed in weekly team meeting.
- Reported \bugs and suggestions for team
ProfNUS, another team in the module.
Tools:
- PlantUML: Software to create UML diagrams
- Git workflow