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
Role
toCompany
- What it does: Instead of a
Job
displaying theRole
as the main field in aJobCard
, it displays theCompany
instead. - Justification: After
v1.1
we noticed that theRole
field was not as important as theCompany
field 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
JobCard
as this was mainly a cosmetic change.
- What it does: Instead of a
- Added
JobType
field toJob
- What it does:
JobType
is 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
Job
as 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
Job
class to include theJobType
field, and changing theJobCard
class to display theJobType
field. The challenging aspect was ensuring that theJobType
field was displayed correctly in theJobCard
class, as well as ensuring that theJobType
field was saved and loaded correctly in theStorage
class.
- What it does:
- Added the
Interview
class and its fields- What it does: The
Interview
class 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
Job
as it allows users to note down their interview details in a structured manner. - Highlights: Implementing this functionality required creating the
Interview
class and its fields, and changing theJob
class to include theInterview
class. I referred to similar fields fromJob
when implementing the interview fields.
- What it does: The
- Added
InterviewListPanel
to the UI- What it does: The
InterviewListPanel
is 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
InterviewListPanel
class and its associated FXML file. The challenging aspect was ensuring that theInterviewListPanel
updates whenever aninterview
command is executed. As such, I modified theCommandResult
class to track the type of command that was executed to update theInterviewListPanel
accordingly.
- 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: