Christopher's Project Portfolio Page
Project: InternBuddy
InternBuddy provides a 1-stop platform for Computing undergraduates to manage and track their internship applications. It is optimized for typing which Computing undergraduates are comfortable and proficient in, allowing them to fully and efficiently exploit the application’s organisational capabilities. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.
Project Contributions
My code contributions can be found on RepoSense
Features and Enhancement
- New Feature: Refactored
delete
asdelete-index
command #100- What it does: Allows users to delete multiple internships by their indexes.
- Justification: This feature allows the user to clear delete multiple internships from the list at once, instead of entering
delete
multiple times. Users can then keep their internship list nice and tidy.
- New Feature: Added
delete-field
command #100- What it does: Allows users to delete multiple internships by their fields.
- Justification: Users may want to mass delete internships from the list when internship application season is over, but still want to archive some for future reference. It is an improvement over
clear
, which deletes all internship entries.
- Co-implemented GUI testing for InternBuddy
#198,
#57
- With code references from AB4
and Please Hire Us, I managed to implement
test cases for UI components such as in the class
InternshipCardTest
andCommandBoxTest
. - Worked with my teammate, Eugene, to implement this.
- GUI testing improved code coverage for InternBuddy.
- With code references from AB4
and Please Hire Us, I managed to implement
test cases for UI components such as in the class
- Enhancements to existing features:
- Added date labels to UI, so that users understand what the dates mean. #57, #138
- Added a feature where clicking on an internship entry updates the right panel with the selected internship. #150
- Refactored Status as a set of final constant strings, mitigating misuse of Status strings. #57
- Fixed a bug where the right panel does not reset after clear. ##128
Documentation
- About Us page
#18
- Collected my team photos and drafted the About Us page.
- Project management:
- Documentation:
- User Guide:
- Developer Guide:
- Contributed to Acknowledgements, Non functional requirements and Glossary #31
- Contributed to Introduction and About Developer Guide #106
- Added implementation for
delete-field
command #122 - Updated UML sequence diagram for
delete-field
command #94 - Wrote design tweaks addressing bugs found in PE dry run #201
- Community: