Jiang Zhimeng's Project Portfolio Page
Project: myStudent
MyStudents helps tuition center admins manage details of the students, tutors and classes. It is optimized for CLI users so that frequent tasks can be done faster by typing in commands. MyStudent is a brown-field project evolved based on AB3. Compared to AB3 that only manipulates one type of entity Person, myStudent needs to manipulate three
types of entities: Student, Tutor and TuitionClass. To adapt to the three different entities, myStudent has made enhancements to the existing structure and commands of AB3. Additionally, myStudent has also implemented some new commands and new GUI features.
Given below are my contributions to the project.
- Code contributed:
 - Project management:
    
- In charge of the 
Ui. - Set up the team Organisation and Repository.
 - Managed release v1.3.1.
 
 - In charge of the 
 - New features implemented:
    
- Introduced the enum class 
ListTypeinModelwhich keeps track of the current list type #49.- This feature is crucial for our project, since myStudent monitors three types of entities: 
Student,TutorandTuitionClass. Most of the commands such the delete command and the show command needs to refer to or modify the current list type. The introduction ofListTypemarks an evolution from a single type of entity in AB3 to multiple types of entities in myStudent. 
 - This feature is crucial for our project, since myStudent monitors three types of entities: 
 - Implemented the 
show commandwhich displays the descriptions of the specifiedStudentorTutor#103.- The description of the 
StudentandTutoris not shown in the list panel. Theshow commanddisplays the description of the specifiedStudentorTutorin a separate description panel. - The 
show commandis closely related toUias it makes use of theSelecetionModelofListViewin JavaFX. 
 - The description of the 
 - Implemented clickable list tabs #81.
        
- The user can click at the list tabs to switch to a different list, which supplements the 
list command. 
 - The user can click at the list tabs to switch to a different list, which supplements the 
 - Implemented clickable person cards #122.
        
- The user can click at the 
student cardortutor cardto display the description of thestudentortutor, which supplements theshow command. 
 - The user can click at the 
 - Implemented different themes for the GUI. The user is able to change the color scheme #122.
 
 - Introduced the enum class 
 - Enhancements to existing features:
    
- Modified the 
list command#49.- The previous 
list commandin AB3 is only for one type of entityPerson. To suite the multuple types of entities in myStudent, the modifiedlist commandallows the user to display one of the three different lists, thestudent list,tutor listorclass list. 
 - The previous 
 - Modified the 
delete command#62.- The previous 
delete commandin AB3 is only for one type of entity. The modifieddelete commanddeletes one of the three entities depending on the current list, which is one of the three lists:student list,tutor listandclass list. 
 - The previous 
 - Modified the 
CommandResultclass. Introduced enum classCommandTypeto account for the type of the command that is executed #103.- The previous 
CommandResultallows theUito handle thehelp commandand theexit command. The modifiedCommandResultclass allows theUito handle moreUichanges for more command types. 
 - The previous 
 - Helped in making the 
Personclass abstract #107.- The 
Personclass in AB3 is concrete. In the earlier stage of our project, we accommodated our codes toPersonclass as we did not wish to break the pre-existing functionalities of AB3, which leads to dependencies of thePersonclass in theLogic,StorageandUi. In latter stage we decided to makePersonclass abstract, before which the dependencies need to be cleaned. 
 - The 
 
 - Modified the 
 - Documentation:
    
- User Guide:
        
- Added all diagrams for the User Guide.
 - Added the Layout section.
 - Added documentation for the show command.
 - Added documentation for the Troubleshooting section.
 
 - Developer Guide:
        
- Added documentation for the list type feature.
 - Added the sequence diagram for the 
list commandin the list type feature. - Updated the class diagram of the 
Ui. - Updated the sequence diagram for the 
delete commandin theLogic. 
 
 - User Guide:
        
 - Community: