Li Yuxuan's Project Portfolio Page
Project: MATHUTORING
MATHUTORING is a desktop application used for private Math tuition teachers to manage their students’ contacts and performances. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.
Given below are my contributions to the project.
- New Features:
- Switch command
- What it does: Help the user to easily switch between score text panel and score chart panel. Support both CLI and mouse click.
- Justification: This feature is convenient for the user to switch between score text panel and score chart panel.
- Highlights: Since the switch support both CLI and mouse click. It is important to make the behaviour consistence, so the application need to remember the panel status and switch based on it.
- Check command
- What it does: For the user to check a specific student’s task/s and score/s information.
- Justification: This feature is important as it indicates which student the user want to check and display the selected student’s information.
- Highlights: The check result is normally continue to display. The panel will reset to no student being checked when the currently checked student is being deleted/edited, or the entire student list is cleared, or a new student list is being imported in.
- Filter command
- What it does: To filter out student/s from the existing list. Filter key is the tag/s.
- Justification: This feature help the user to quickly filter out a group of students based on their given tag/s.
- Highlights: To allow more flexibility, when filter by tag, it is fully case-insensitive.
- Score list chart
- What it does: Created the score list chart to track the student’s performance.
- Justification: The chart can clearly show the trend of a student’s recent performance, whether his/her grade is improving or decreasing.
- Highlights: The user can hover over the chart node to see tooltip that contains score label and score value.
- Switch command
-
Code contributed: RepoSense link
- Project management:
- Individual
- Completed weekly requirements on time.
- Created several GitHub branches for different increments.
- Group
- Met the milestone deadlines.
- Used GitHub for progress tracking.
- Individual
- Enhancements to existing features:
- Documentation:
- Updated AboutUs page and README page.
- Added a quick user guide inside the help window.
- User Guide (Pull requests #116 #176)
- Added in missing items.
- Updated UG with more details.
- Developer Guide (Pull requests #176)
- Helped with generate the UML diagram.
- Tweaked relevant guides, add in several User case, manual testing, Non-Functional Requirement, and planned enhancements.
- Contributions to team-based tasks:
- Conceptualized the ideas and came up with the overall UI design.
- Added several GitHub issues and helped manage the issues through adding labels and milestones.
- Organized target user stories.
- Created illustrations. Including the avatars, student list icons, task list icons, and import/export window icons.
- Review/mentoring contributions:
- Community: