Sun Xinyu's Project Portfolio Page
Project: Teacher’s Pet
Teacher’s Pet is a desktop application for managing contacts of students and classes, optimised for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, Teacher’s Pet can get your contact and class management tasks done faster than traditional GUI apps.
Given below are my contributions to the project.
- New Feature:
Money
data type and relevant fieldsMoney Owed
,Money Paid
,Rates per Class
fields that are essential for tutors to track their income.
sort-by
command- sort the displayed list of students by
name
,next class date
, andamount of money owed
inascending
ordescending
order.
- sort the displayed list of students by
undo
command- undo the change to internal student list by the last command. (with similar but different structure as AB3 suggested)
All above-mentioned features are accompanied by extensive testing
-
Code contributed: RepoSense Link
- Project management:
- Main reviewer for code-related Pull Requests;
- Active contributor of issue tracker;
- Documentation:
- User Guide:
sort-by
commandundo
command- refine overall structure (table of contents, summary table)
- Developer Guide:
sort-by
command and corresponding diagramundo
command and corresponding diagram (adapted from AB3)
- User Guide:
- Community:
- Review most of the code-related PRs by the whole group with detailed insights and comments;
- Some prominent examples: #96, #169, #198, #351;
- Host mentorship or discussion sessions for whoever needs help;
- Hold high standard of code quality and enforce this standard in PR review;
- Spot bugs and request for change during review stage rather than let them slip into code base;
- Take the initiative to deal with the PRs with most complicated logic that no one would like to look into and provide solid suggestions with clear understanding of the PR’s content.
- Have the best knowledge about the overall code base and clear idea about current progress of each group members (closely monitor all actions on GitHub by group members);
- Actively participate in the discussion during weekly meetings, provide concrete suggestions for various topics, and highly involved for workload distribution by being a reliable source for estimating time and difficulty of a task;
- Add testing for overall project;
- Share useful tips found by myself in forum to help others. #152, #335, #339
- Review most of the code-related PRs by the whole group with detailed insights and comments;