Project: TAlent Assistant™

TAlent Assistant™ is a desktop, lightweight and centralized management system catered to NUS School of Computing professors for managing the interview scheduling process of candidates applying to be undergraduate Teaching Assistants (TA). It is optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI) built using JavaFX.

Given below are my contributions to the project.

  • New Features:
    • Ideated using a placeholder with randomized colour for each candidate’s background photo in the focusPanel of the application and HelpWindow’s design layout.
    • Updated application’s icon and related refactors to help the team as an overall i.e. Removing traces of previous project naming conventions.
      • E.g. Updating JSON file to talentassistant.json instead of the previous project’s addressbook.json, updating PDF generator title to our application’s name, etc.
    • UI refactors wherever necessary.
      • E.g. Changing of styles i.e. CSS.
  • Code contributed: RepoSense link to view individual code contribution.

  • Project management:
    • Managed deadlines and deliverables for the team whenever/wherever necessary.
      • Brief e.g. Updating milestones, managing issues on GitHub.
    • Beautified releases’ description.
    • Enhanced team’s workflow with suggestion on branch naming i.e. ISSUE_NO-ANY-OTHER-DESC.
      • Naming each branch in the format with issue as the start followed by dashes and other relevant description. Helps in the clarity of referring back to the linked issue when reviewing the PR.
    • Drove team meetings.
  • Enhancements to existing features:
    • Refactors constantly done throughout the development period of our program.
      • Refactored model of our application, specifically the entities. E.g. Introduced new entities.
        • Encompasses writing of the entity, test classes and integrated with application’s model.
      • Improved existing add and edit commands with the introduction of new fields to our program based on project direction.
        • Includes writing of unit tests.
      • Removal of unused entities of previous Person model from the initial codebase e.g. tag, address.
      • Refactored Person model to Candidate model.
        • Updated all relevant/related files and scrap usages of Person to match target user profile.
  • Documentation - User Guide:
    • Worked on the add, edit commands.
  • Documentation - Developer Guide:
    • Worked on Model, UI, Add command.
    • Some additions to User Stories and Use Cases.
  • Team-based tasks:
    • Setting up the GitHub team repository.
    • Updating individual roles.
    • Necessary general code enhancements e.g. Renaming the product and changing the product’s icon.
    • Maintaining team’s Gradle build file by updating shadowJar naming and enabling assertions.
  • Review/Mentoring contributions:
  • Community:
    • Non-trivial PRs reviewed
      • An e.g. 1
    • Contributed to forum discussions
      • Some e.g. 1, 2, 3, 4, 5.
    • Helped solve issues that classmates faced
      • Some e.g. 1, 2, 3, 4, 5.
    • Reported total of 11 issues during PE-D.