Miguel's Project Portfolio Page
Project: JobFindr
Overview
JobFindr is a desktop-based job application management application.
The inspiration for JobFindr came from the shared challenge faced by all members of our team - the daunting task of organising and keeping track of the numerous job applications we submit. Recognising that this is a common experience among NUS students, we felt a strong urge to develop a software solution that would make this process more manageable for students like us.
JobFindr was born out of this necessity, offering a one-stop solution for recording and managing your job applications effortlessly.
Enhancements
- Changed main field from
RoletoCompany- What it does: Instead of a
Jobdisplaying theRoleas the main field in aJobCard, it displays theCompanyinstead. - Justification: After
v1.1we noticed that theRolefield was not as important as theCompanyfield as users may apply to multiple roles that are similar in nature, but for different companies. - Highlights: This was my first time working with JavaFX, so it was a challenge to understand how the GUI changes based on the changes made in JavaFX. It did not take me long to pick up the basics of JavaFX and implement the necessary changes in
JobCardas this was mainly a cosmetic change.
- What it does: Instead of a
- Added
JobTypefield toJob- What it does:
JobTypeis a field that represents a fixed list of job types that a user can choose from. Examples of job types includeinternship,full-time, andcontract. As this is an optional field, users can choose to leave it blank. - Justification: This was a valuable addition to
Jobas it allows users to categorise and filter their jobs based on the type of job they are applying for. - Highlights: Implementing this functionality required changing the
Jobclass to include theJobTypefield, and changing theJobCardclass to display theJobTypefield. The challenging aspect was ensuring that theJobTypefield was displayed correctly in theJobCardclass, as well as ensuring that theJobTypefield was saved and loaded correctly in theStorageclass.
- What it does:
- Added the
Interviewclass and its fields- What it does: The
Interviewclass is a class that represents an interview that a user has been invited to. It contains the fieldsInterviewDateTime,InterviewAddress, andInterviewType - Justification: This was a valuable addition to
Jobas it allows users to note down their interview details in a structured manner. - Highlights: Implementing this functionality required creating the
Interviewclass and its fields, and changing theJobclass to include theInterviewclass. I referred to similar fields fromJobwhen implementing the interview fields.
- What it does: The
- Added
InterviewListPanelto the UI- What it does: The
InterviewListPanelis a panel that displays the list of interviews associated with a job application. It is displayed when a user clicks on a job application in theJobListPanel. - Justification: This was a valuable addition to the UI as it allows users to view the interviews associated with a job application.
- Highlights: Implementing this functionality required creating the
InterviewListPanelclass and its associated FXML file. The challenging aspect was ensuring that theInterviewListPanelupdates whenever aninterviewcommand is executed. As such, I modified theCommandResultclass to track the type of command that was executed to update theInterviewListPanelaccordingly.
- What it does: The
Other Contributions
- Code Contributed: My code contributions can be found here: Reposense Report
- Project management:
- Participated actively in meetings and discussions to provide feedback and suggestions on the project.
- Helped to ensure that the team was on track to meet the deadlines for each milestone.
- Documentation:
- User Guide (UG)
- Developer Guide (DG)
- Bug Fixes:
- Fixed bugs reported during PE dry run.
- Community: