Niu Boqian's Project Portfolio Page
Project: TutorPro
TutorPro is a desktop app designed to help private tutors manage their student information effectively. With TutorPro, tutors can easily keep track of their students’ addresses, contact details, lessons, homework, and progress, all in one place. Its ability to keep track of a student’s lessons and exams makes it especially useful for tutors to plan their lessons to prepare his/her students for their exams.
Given below are my contributions to the project.
- New Feature: Lesson Feature and Lesson Related commands (new-lesson, view-lesson, delete-lesson, update-lesson)
- What it does: Allows the user to add, view, delete, and update lessons for a student.
- Justification: This feature improves the product significantly because a tutor can manage the lessons of a student more efficiently.
- Highlights:
- The commands are simple to use. The view-lesson command is especially flexible as the user can filter by date, name of student, subject, or any combination of these.
- I created a storage for the lesson list, so that now each json file of a student will have a lesson list.
- I created relevant helper classes to help with the implementation of the lesson feature. This include various predicate and exception classes.
- I create test classes for various classes in the lesson feature.
- Credits: N/A
- New Feature: Exam Related Commands (view-exam, delete-exam, update-exam)
- What it does: Allows the user to view, delete, and update exams for a student.
- Justification: This feature improves the product significantly because a tutor can be aware of the exams of a student and can plan the lessons accordingly.
- Highlights:
- The commands are simple to use. The view-exam command is especially flexible as the user can filter by date, name of student, exam name, or any combination of these.
- I created a storage for the exam list, so that now each json file of a student will have a exam list.
- I created relevant helper classes to help with the implementation of the exam feature. This include various predicate and exception classes.
- Credits: N/A
-
Code contributed: RepoSense link
- Project management:
- Created and assigned issues to team members on GitHub and kept track of their progress
- Created labels and categorized issues on GitHub
- Enhancements to existing features:
- Changed the find, edit, delete command such that they now require the user to use prefixes to specify the fields to search for, edit, or delete
- Changed the add and edit command such that when a new student is created or an existing student is modified, his/her name cannot be part of any existing students’ names, and vice versa.
- Added lesson unique lists in the application, added, and updated relevant methods in a logical model, storage, and other classes ot fit the change.
- Documentation:
- User Guide:
- Developer Guide:
- Community:
- Tools:
- Use PlantUML to add more UML diagrams in the developer guide.