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 find
      • What it does: Find specific internship applications based on company and tags
      • Justification: User would want to find certain internship applications from the large number of applications he/she have
    • Implemented ApplicationStatus
      • What it does: Represents the status of an internship application
      • Justification: Key field of an internship application. As such, this is crucial for commands such as mark to be possible
    • Updated Tag
      • Changes: Allow spacing into tag field
      • Justification: User might want to key in more than 1 word into tag
    • Refactored Person to Internship
      • Changes: Change all instances of Person to Internship in the code base
      • Justification: Essential for the team to develop FindMyIntern as a brownfield project
  • Contributions to the UG:
    • Added documentation for find feature
    • Added table of contents for UG
      • Allow users to easily navigate between sections in UG
    • Added table of contents for Command section
      • Allow users to easily navigate between different commands
    • Updated “Setting Up” section
      • Include tutorial on how to find Java version
  • Contributions to the DG:
    • Update DG from Person to Internship
      • Include updating of all UML diagrams
    • Added implementation for find feature
      • Include sequence diagram and design considerations
    • Added “About FindMyIntern” section
    • Added use cases for clear and delete
    • Update “Glossary” and “Non-Functional Requirements” section
  • Contributions to team-based tasks:
    • Added GitHub issues and milestones
    • Tagged issues and PRs with relevant tags
    • Reviewed and fixed bugs submitted by testers
  • Review/mentoring contributions:
  • Contributions beyond the project team:
    • Reported bugs and provided suggestions for other teams: Bugs