Tan Tze Yeong's Project Portfolio Page
Project: myStudent
myStudent is an easy-to-use, portable and aesthetically-pleasing desktop application for tuition centre admins for managing the students, tutors and tuition classes of a tuition center. It is optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).
As a tuition center admin, managing vast amounts of information can be daunting and prone to error using existing solutions such as Microsoft Excel, or traditional pen and paper. That is why we have developed myStudent as the one-stop solutions for effective data management, in tuition centers.
myStudent is adapted from an existing Java Application Address Book (Level 3), and was developed by my team of 5 NUS Computer Science students.
Given below are my contributions to the project.
Code contributions
All of my code contributions can be found here.
Enhancements Implemented
Major Enhancements
- Introduced the
Student
class to Model #40- Introduced individual field classes for the
Student
class.
- Introduced individual field classes for the
- Introduced the
Tutor
class to Model #40- Introduced individual field classes for the
Tutor
class.
- Introduced individual field classes for the
- Introduced the
TuitionClass
class to Model #40- Introduced individual field classes for the
TuitionClass
class.
- Introduced individual field classes for the
- Search by multiple fields feature
Find
#118- Description: This feature allows users to search for a
Student
,Tutor
orTuitionClass
based on multiple fields. Previously, the find command could only search forPersons
based only on their name. Now, the new find feature gives users the flexibility of searching by more many more fields at the same time. - Benefits: The enhancement added drastically improves the efficiency of the find feature as users now have more options to reduce displayed list to their desired outcome. Being able to input multiple keywords to match multiple fields of an entity at the same time also significantly increases the efficiency of the user’s search.
- Highlights: This feature required a series of modifications to allow for the command to except multiple
prefixes
andkeywords
, which includes the introduction of theFindCommandParser
. Furthermore, the command had to account for the different entities involved (Student
,Tutor
,TuitionClass
) and their respectiveprefixes
. A substantial amount of tests codes was also needed to be designed ensure the feature was bug-free.
- Description: This feature allows users to search for a
Minor Enhancements
- Introduced the
NextOfKin
class to Model to allowNextOfKin
to be assigned to aStudent
#84
Other Contributions
- Project-management:
- Managed milestones for team repository.
- Managed release v1.3.trial on GitHub.
- Kept track of weekly deliverables.
- Documentation
- User Guide
- Added documentation for
find
command / search by multiple fields feature.
- Added documentation for
- Developer Guide
- Added documentation for search by multiple fields feature.
- Added diagrams for search by multiple fields feature.
- Added proposed implementations for search by multiple fields feature.
- Refined use cases for
find
command / search by multiple fields feature.
- User Guide
- Team-based tasks