Bao Bin's Project Portfolio Page
Project: StudMap
StudMap is a lightweight desktop application that addresses your needs of managing the student records across multiple spreadsheets. Using a CLI (Command Line Interface) approach, we mitigate the need for teaching assistants to navigate through convoluted menus and buttons when keeping track of the administrative details for the students. It is written in Java with the GUI implemented using JavaFX.
Given below are my contributions to the project.
-
Code contributed: RepoSense link
- New Feature:
sort- What it does: The
sortfeatures allow users to sort the StudMap by the specified attribute in the specified order. - Justification: The user (teaching assistants) might want to organise and sort the data stored on StudMap according to attributes. The user might wish to focus on certain aspect of the module to track. For instance, the user may wish to clamp down on absenteeism and identify students who are constantly missing from class. To achieve this, he can sort the StudMap by
ATTENDANCE. Similarly, to get a better sense of participation rates in his class, the user can sort the StudMap byPARTICIPATIONto identify those students who are lacking participation and prompt them to participate more in class. - Highlights: In the original addressbook, there were no sorting feature. After adding in new contacts into the addressbook, the whole list of contacts can get rather messy as the contacts were unsorted and displayed in the order of when they were added into the list. Having a
sortfeature can help the user to better organise the data available on the list such as sorting byNameto get a neater list whereby the list is sorted byNamein alphabetical order. Sorting is also useful to narrow down on specificAttributethe user is interested in and make better sense of it through sorting it in eitherAscendingorDescendingorder. To implement the feature, I have also created theAttributeclass. Any new attributes to be enabled for sorting could be specified in theAttributeTypeenum class and theComparatorto be used for sorting within theAttributeclass.
- What it does: The
- New Feature:
participateandunparticipate- What it does: By using the
participate, the user (teaching assistants) can create records of participation for the student and toggle between the supported status for participation. The user can also use theunparticipatecommand to remove records of the participation components completely. - Justification: The user may wish to keep track of the participation of students in class. By introducing this feature, the user can record down the participation requirements for the module and keep track of which components students have participated in. This will help the user to view participation rates in class to identify students who lack participation as well as to determine the participation grade for students.
- Highlights:
participateandunparticipateworks well with theallcommand to do mass recording of participation efficiently. Participation rates derived from the participation records works well withsortto give a StudMap sorted by participation rates.
- What it does: By using the
- Documentation:
- Provided the necessary documentation for the
sort,participate,unparticipatefeatures for both the User Guide and Developer Guide with UML Diagrams.#108 


- Updated use cases for
sort,participate,unparticipate. - Updated manual testing instructions for
add,sort,participate,unparticipate. - Reviewed User Guide and Developer Guide as a whole for final submission
- Provided the necessary documentation for the
- Project management:
- Review and merge functional PRs for
v1.3andv1.4
- Review and merge functional PRs for