Yan Weidong's Project Portfolio Page
Project: JobFindr
This portfolio provides an overview of my contributions to 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.
Implementation Contribution
- Programmed the implementation the
Deadline
field- What it does: Implemented the
deadline
field in the job application using theLocalDateTime
parser, enhancing flexibility in date and time format entry. - Justification: Users might be unfamiliar with the constraints of Java’s
LocalDateTime
format, potentially leading to difficulties in entering the deadline field. - Highlights: We had to format the input deadline before initializing the
Deadline
instance. A key consideration was maintaining the abstraction of this implementation within theParserUtil
class.
- What it does: Implemented the
- Revamped the User Interface Design for JobFindr
- What It Does: This update involves a comprehensive redesign of the visual elements of each JavaFX component in JobFindr, alongside a reformatting and addition of new components to the application’s window.
- Justification: Being a CLI-based desktop application, our aim is to develop a user-friendly GUI for our users.
- Highlights: This task was particularly challenging due to the steep learning curve associated with JavaFX and
FXML. It required a complete overhaul of the CSS styling and reorganization of each component’s styleClass.
- Improved Real-Time GUI Responsiveness in JobFindr by enhancing the MVC Architecture
- What It Does: Implemented immediate GUI updates in response to user commands, eliminating the need for manual refresh.
- Justification: Critical for user interface efficiency, this feature provides instant feedback on command execution.
- Highlights: This marked my initial foray into applying the MVC (Model-View-Controller) architecture.
Other Contributions
- Code Contributed:
- My code contributions can be found here: Reposense Report
- Project management:
- Lead the team in fulfilling weekly deliverables and coordinated the general direction of the project.
- Actively assisted peers by providing technical advise and reviewing and approving PRs.
- Documentation:
- User Guide (UG):
- Added description for
delete
,help
andexit
commands. - Added UI mockups to illustrate command results.
- Added Introduction, Guide to User Guide and Quick Tutorial sections.
- Added description for
- Developer Guide (DG): Added sections for
edit
command andUi
component.
- User Guide (UG):
- Bug Fixes:
- Community:
- PRs reviewed (with non-trivial review comments): PR #65