YU SHUFAN's Project Portfolio Page
Project: TeachBook
TeachBook is a desktop app made for primary and secondary school teachers to manage student contacts. 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 Feature 1: Added the ability to switch among classes
- What it does: This feature allows users to switch to another class to see the student list of that class and manipulate it (e.g. add student to the class).
- Justification: This feature is significant to the app because the app is designed in the way that users need to use a command to switch among different classes.
- New Feature 2: Added the
remarkfeature- What it does: This feature allows users to give any special notes to a student.
- Justification: This feature improves the usability of the app because a typical user (i.e. teacher) may often want to add a remark to a student, such as the student needs to improve in study.
- New Feature 3: Added the feature to delete multiple students at once
- What it does: This feature allows users to delete multiple students at once, instead of deleting one by one.
- Justification: This feature improves the usability of the app because it makes the deletion process more flexible for users.
-
Code contributed: RepoSense link
- Enhancements to existing features:
- Modified the logic of the existing
deletecommand to accommodate the added class component
- Modified the logic of the existing
- Documentation:
- User Guide:
- Developer Guide:
- Added design considerations of the class component: commit
- Added implementation details of the
deleteClassfeature, where two object diagrams and one sequence diagram were used: commit - Updated the “Non-Functional Requirements” section: commit 1, commit 2, commit 3
- Added some user stories and use cases: commit 1, commit 2, commit 3
- Added instructions for manual testing for features
delete,select,remark: commit - Updated hyperlinks to match the project: commit
- Project management/Contributions to team-based tasks:
- Renamed
persontostudent,address booktoteachbook - Set up protection of
masterbranch on GitHub - Managed releases
v1.2-v1.4(5 releases) on GitHub - Did video recording for
v1.2demo of the app and uploaded it onto YouTube
- Renamed
- Community: