Chen WenLong (Kai)'s Project Portfolio Page
Project: ClassMonitor
ClassMonitor is a desktop app for managing student performances, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, ClassMonitor can get your contact management tasks done faster than traditional GUI apps.
The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 15 kLoC.
Given below are my contributions to the project.
- New Feature: Added the ability to give stars to students for class participation.
- What it does: allows the user to give students a defined number of stars for class participation. Users can also edit the number of stars directly using the
edit
method. - Justification: This feature improves the product significantly because a user (teaching assistant) can now track the performance of students in class, using the number of stars as a gauge for a student’s engagement in class.
- Highlights: This enhancement introduces a new field under student which diverges from the design of other fields like
name
orphone number
, which are replaced upon edit, however, we allow for replacement of value viaedit
, as well as accumulation of stars usingstar
. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required proper exception handling to isolate the changes made to the number of stars bystar
andedit
commands. - Credits: There is partial use of AB3 code. I was compelled to use the AB3 code design to ensure coherence of code for my parser and command classes.
- What it does: allows the user to give students a defined number of stars for class participation. Users can also edit the number of stars directly using the
-
Code contributed: RepoSense link
- Project management:
- Managed milestones
v1.3
andv1.4
(2 milestone) on GitHub. - Encouraged and helped other team members manage their milestones on Github.
- Managed milestones
- Enhancements to existing features:
- Create white UI Theme of ClassMonitor (Pull requests #60)
- Documentation:
- Community: