Tan Wen Hao Brendan's Project Portfolio Page
Project: FindMyIntern
Overview: FindMyIntern is a desktop application that helps students keep track of internship applications. It allows students to consolidate all these applications into a single place, manage these applications, and visualise their application statuses. The user interacts with it using a CLI, and it has a GUI created with JavaFX. FindMyIntern is written in Java, and has about 10 kLoC.
Given below are my contributions to the project.
-
Code contributed: RepoSense link
- Enhancements implemented:
- Added new feature
filter
- What it does: Allows the user to filter internship applications for specific application statuses
- Justifications: The user will want to filter for different application statuses according to his/her needs, such as viewing internship applications which he/she has been shortlisted for interviews.
- Implemented
AppliedDate
- What it is: Represents the date which the user applied for an internship
- Crucial field in saving internship applications
- Overhauled GUI
- Updated FindMyIntern to a more modern user interface
- Rearranged and resized elements to better suit users’ needs
- Enhanced
add
feature to acceptInterviewDateTime
- What it does: Allows the user to include an optional interview date/time while adding internship applications
- Automatically sets internship application status to “Shortlisted” instead of default “Applied”
- Helped rewrite sample data which appears on first startup of FindMyIntern
- Modified to be more realistic to how internship applications will be added
- Added new feature
- Contributions to the UG:
- Integrated Bootstrap 5 into user guide
- Added documentation for
filter
feature - Added tutorial section “Adding your first internship application”
- Useful for new users familiarising themselves with FindMyIntern
- Annotated UI for new users
- Added comparison between
filter
andfind
commands- Useful as both commands are similar
- Added section for UI elements
- Explains purpose of certain elements which may be less obvious
- Added appendix section
- Defines requirements about input fields for commands and explains certain fields
- Improved navigability of user guide
- Added “back to…” buttons
- Helped standardise user guide formatting
- Contributions to the DG:
- Added implementation details of
filter
feature- Included activity, sequence diagrams and design considerations for feature
- Updated diagrams to reflect changes to UI
- Added user stories
- Added implementation details of
- Contributions to team-based tasks:
- Added GitHub issues and milestones
- Tagged issues and PRs with relevant tags
- Reviewed and fixed bugs submitted by testers
- Managed features demo screenshots for v1.2 and v1.3
- Review/mentoring contributions:
- Contributions beyond the project team:
- Reported bugs and provided suggestions for other teams: Bugs