Charmaine Ho's Project Portfolio Page
Project: TAlent Assistant™
Overview 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.
Summary of Contributions
-
Code contributions: Click on the following RepoSense link to view the detailed breakdown.
- Enhancements implemented:
- UI for GUI window panels (new feature, PR #150): Main challenges were in implementing resizeable bottom split panes, fixing alignment of details in displayed cells for interview schedule, and wrapping/alignment for scrollable focus panel to accommodate expanding grid pane and potentially long remarks added.
sort
command (new feature, PR #76): One of the major difficulties was in handling the sorting with the immutable observable list in play - new methods were created in e.g.Logic
,ModelManager
andAddressBook
. Implementation had to be later fixed (utilising a copy of the original data structure) to preserve integrity of existing data in system.view
command (new feature, PR #167): Key challenge was in integrating with existing model/classes relating to scheduling interviews and method implementations to ensure proper ordering of scheduled interviews (earliest to latest) upon any updating or refresh of the view.find
command (extension of AB3): Enhancement to allow for search across multiple fields. Key challenge lay in maintaining implementation as new entities were added and abstracting predicate classes to ensure ease of scalability. Subsequent bugs on functionality needed to be fixed to ensure the correct search string for each attribute field is used.remark
command (referenced from AB3): Implementation followed the tutorial. Key challenge was in integrating feature functionality and test cases during a much later iteration. Required modification, significant refactoring and adding new code to sync updates to the saved json files for candidates and corresponding interviews, as well as fixing UI component.- Miscellaneous contributions: E.g. implementing office hours check for scheduling interviews
- Contributions to the UG:
- Addition of GUI display layout section (under
Navigating the Display
) find
,remark
andsort
command details (underFeatures
»Managing Candidates
)view
command details (underFeatures
»Scheduling Interviews
)
- Addition of GUI display layout section (under
- Contributions to the DG:
- Addition of user stories, use cases, manual test cases and feature implementation (where necessary) for
find
,remark
,sort
andview
- Addition of user stories, use cases, manual test cases and feature implementation (where necessary) for
- Contributions to team-based tasks:
- Code-base contributions:
- Testing and de-bugging:
- Contributed to identified bugs in v1.3b found here
- Fixed bug relating to
focus
panel refreshing and displaying wrong candidate when previous candidate in the focus panel and displayed filtered list is edited
- Project management and issue tracking:
- Contributed towards the setup of team’s git repository and Readme.md
- Organised and updated team user stories excel found here
- Helped to maintain and update GitHub’s issue tracker and assignees as and when needed
- Review/mentoring contributions:
- Some PR reviews/discussion threads involving non-trivial comments/suggestions:
- Suggested revised format of DG for features section (PR #122)
- Raised bug on identifier previously used for candidates (PR #161)
- Commented suggestions on fixing of identified bugs (view discussion thread)
- Suggested revised format of DG for features section (PR #122)
- Some contributions during discussions offline:
- Some PR reviews/discussion threads involving non-trivial comments/suggestions:
- Contributions beyond the project team: