Chew Hong Jin's Project Portfolio Page
Project: CLIMods
CLIMods
is a desktop application that allows students to plan out their timetable with the use of a Command Line
Interface. CLIMods
allows users to manage their modules much faster than doing it on the common website
that most NUS students use nusmods.com.
Given below are my contributions to the project.
- Infrastructure: Added code to store unique UserModules in a list (Pull request #59)
- Used throughout application code for almost all command that involves changing UserModule details.
- New Feature: Added the ability to pick lessons in selected modules
pick
command (Pull request #84)- What it does: Allow users to pick lessons for selected modules
- Justification: This feature enhances the product tremendously because it allows users to easily pick lessons hence organizing their respective timetables based on most updated information on NUSMods. The lesson timings, days and venues will also be displayed.
- Highlights: This feature will check if lesson type is available, and later check if lesson code is available / valid based on the lessons that the module offers in the particular semester.
-
Code contributed: RepoSense link
- Project management:
- Take down minutes during team project meetings.
- Organize and document minutes in google docs for easy reference.
- Manage Demo Video release
- Enhancements to existing features:
add
command (Pull request #59, #85, #104):- Allows user to add a module.
- Module to be added will be based on semester (Pull request: #85)
add
command checks whether module is offered in semester.add
command throws an error message if module is not offered.add
command will also automatically add in unselectable lessons (Pull request: #104)- Example such as fixed lecture timings (square sides on NUSMods)
delete
command (Pull request #59):- Allows user to delete a module.
- Module to be deleted will be based on module added.
- Throws error message if modulecode to be deleted is invalid.
exit
command (Pull request #65):- Allows user to exit climods.
- No need to use mouse, keyboard command
exit
will do.
- Wrote additional tests while enhancing existing features and implementing new features.
- Documentation:
- Developer Guide:
- Added user stories and use cases. (Pull request #31)
- Added ParserClasses Diagram
- Added ModelClass Diagram
- Update details of ModelClass
- User Guide (Documentations were added while implementing features):
- Added documentation for
add
Command. - Added documentation for
rm
Command. - Added documentation for
pick
Command. - Added documentation for
exit
Command.
- Added documentation for
- Developer Guide:
- Community:
- PRs reviewed (with non-trivial review comments): #99, #101, #160
- Test other team projects and gave a total of 17 bug reports (List of reports) for MyInsuRec.