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
containsPartialWordIgnoreCase
method inStringUtil
to allow the finding of items with partially matching text. - Included test cases for
containsPartialWordIgnoreCase
inStringUtilTest
.
- 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
isSameStudent
inStudent
class.
- 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
ModFindCommand
to handle finding of batchmates who have taken or are taking certain module(s) - Modified
ModCommandParser
to parsemod find
command arguments. - Built test cases in
ModFindCommandTest
forModFindCommand
. - Included
mod find
parser tests inModCommandParserTest
. - Implemented
ModContainsKeywordsPredicate
to 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
ModCommandParser
to parsemod find taken
andmod find taking
command arguments. - Included
mod find taken
andmod find taking
parser tests inModCommandParserTest
. - Implemented
ModTakenContainsKeywordsPredicate
andModTakingContainsKeywordsPredicate
to 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 taken
andmod find taking
sections. - Proofread user guide for bugs.
- Worked on
- Developer Guide: (Pull requests #120)
- Responsible for
Mod find feature
category. - 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