Feng Zhunyi's Project Portfolio Page
Project: TutAssistor
TutAssistor is a desktop application for private tutors to manage tuition class timeslots. While it has a GUI, most of the user interactions happen using a CLI (Command Line Interface). The user interacts with it using a CLI, and it has a GUI created with JavaFX. It has about 20 kLoC.
Given below are my contributions to the project. Access my RepoSense link to view the code that I have contributed.
- Enhancements implemented
- Create Tuition Model: Designed and created
ClassLimit
,ClassName
,Timeslot
,TuitionClass
,UniqueTuitionList
. (Pull request #10)- What it does: Allows user to edit any details of a student or tuition class with the exception of remarks in TutAssistor
- Justification: This is the most basic model for our app as our app aiming to manage tutors classes. Thus we need to have a model for those classes and encapsulates classes’ attributes in the model.
- Create add tuition features: Designed and created
AddClassCommand
and its correspondingParser
classes. (Pull requests #14)- What it does: Allows user to create a tuition class in TutAssistor
- Justification: This allows user to create a tuition class in order to record the class his has.
- Create view today tuition classes features: Designed and created
ViewTodayTuitionCommand
and its correspondingParser
classes, and modifiedMainWindow
,LogicManager
and relative files. (Pull requests #103)- What it does: Allows user to check today tuition classes in TutAssistor when he opens the app and when he wants
- Justification: This allows user to better arrange their time after knowing what classes they have today.
- Create AddRemark features: Designed and created
AddRemarkCommand
and its correspondingParser
classes. (Pull requests #3)- What it does: Allows user to add remark to students or tuition classes in TutAssistor
- Justification: Notes are often need for a tutor to keep some records for students and classes.
- Create
Tuition
UI: Designed and createdTuitionCard
,TuitionListPanel
, and modifiedMainApp
,MainWindow
(Pull requests #10)- What it does: Allows user to check tuition classes information in TutAssistor
- Justification: To check tuition information, a UI is needed to display hte information.
- Manage Timeslot conflict: Designed and created the format of timeslot, and the algorithm for conflict detection.(Pull requests #41)
- What it does: Allows user to add tuition classes in TutAssistor without time conflict
- Justification: TutAssistor allows users to manage their tuition classes, the our app needs to ensure that users cannot add different tuition classes in the same time slot.
- Create store
Tuition
features: Designed and createdJsonAdaptedTuition
, and modifiedAddressBookStorage
,JsonAddressBookStorage
,JsonSerializableAddressBook
to create, read tuition class . (Pull requests #10)- What it does: All user to store a tuition class into the json file in TutAssistor
- Justification: As users need to check their tuiton classes they have created, the class information need to be stored. We choose to store the data into json file because it is easy to export and import.
- Testing: Create tests for the
ClassLimit
,Timeslot
,ClassName
,UniqueTuitionList
to increase coverage. (Pull request #83)
- Create Tuition Model: Designed and created
- Contributions to the User Guide
- Added documentation for the features
addclass
andtoday
(Pull Request #109)
- Added documentation for the features
- Contributions to the Developer Guide
- Contributions to the team-based tasks
- Proposed the attributes of a tuition class
- Proposed the UI to display Tuition classes and students
- Proposed the format of time slot, and the way to detect time conflict
- Proposed using hashcode as the unique ID for a tuition class for easier referencing
- Review/mentoring contributions
- PRs reviewed: #42
- Contributions beyond the project team
- Reported 4 issues in group W13-1’s tP during mock PE.