Tong Xinyao's Project Portfolio Page

Project: JobFestGo

JobFestGo is a desktop application built for job event planners to manage contacts and tasks for their events.

Here’s an overview of how JobFestGo can help you with your event planning:

  • Store information about your events and their associated contacts
  • Keep track of relevant tasks for each event
  • Stay on schedule with automated deadline reminders
  • Search for contacts by name or tag

Optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI), JobFestGo is a management tool tailored for job festival event planners. With systematic organization of contacts and tasks, you can enhance productivity and streamline your workflow effortlessly!

Given below are my contributions to the project.

  • Enhancements implemented:
    • Implemented the filter_by_tag feature
      • What it does: allows the user to filter contacts in JobFestGo by their tags.
      • Justification: This feature improves user experience by enabling the user to quickly access specific groups of contacts, saving their time and effort.
    • Implemented the link and unlinkfeature
      • What it does: allows the user to associate contacts with specific event or undo the association.
      • Justification: This feature improves the product by providing the user with an additional way of organizing their network.
      • Highlight: This enhancement required an in-depth analysis of design alternatives. I took a slightly more challenging path in order to enhance user experience.
    • Implemented the delete_task feature
      • What it does: allows the user to delete tasks from their associated events in JobFestGo.
      • Justification: This feature is essential since the user may mistakenly add wrong tasks and would need to delete them.
    • Implemented the mark_task and unmark_task feature
      • What it does: allows the user to mark a task as completed or not completed in JobFestGo.
      • Justification: This feature improves user experience by enabling the user to easily track the progress of their tasks and plan their work accordingly.


  • Contributions to the UG:
    • Did up the filter_by_tag feature
    • Did up the link and unlink feature
    • Did up the delete_task feature
    • Did up the mark_task and unmark_task feature

  • Contributions to the DG:
    • Did up the implementation of link and unlink feature, detailing the thought process
    • Did up the filter_by_tag, link, unlink, delete_task, mark_task and unmark_task features as well as their use-cases

  • Contributions to team-based tasks:
    • Reviewing UG and ensuring its clarity and coherence
    • Updating DG to minimize the repetition
    • Maintaining issue tracker of some issues


  • Contributions beyond the project team:
    • I help one other team with product testing: PE-D Bugs