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 accept InterviewDateTime
      • 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
  • 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 and find 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
  • 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