Class Manager 2023
Class Manager 2023 aims to provide fast access to CS2103/T TAs in maintaining and managing student information across multiple classes. It also helps TAs visualise students’ grades, attendance and class participation. Class Manager 2023 is written in Java and has about 26 kLoC.
Given below are my contributions to the project:
Code contributed: RepoSense link
New Feature: load
command (PR: #57)
- What it does: Allows users to load their saved data file and set it as the new default save file.
- Justification: This feature allows users to save and continue editing their data from where they left off. This is especially useful for TAs who teach multiple modules, as each file is configured to store tutorial and assignment information for a specific module.
- Highlights: Implementing this feature requires a sufficient understanding of the
Model
and Storage
components of the application. This enhancement required me to refactor the Storage
class to allow for data loading from a specified file path. I also had to refactor the Command
class to allow for the load
command to be executed.
New Feature: config
command (PR: #82)
- What it does: Allows users to configure Class Manager with the tutorial and assignment count of the module.
- Justification: This feature allows users to configure the application based on their module, as the tutorial and assignment count may vary across classes. The correct number of tutorials and assignments can then be displayed for accurate recording of student's attendance, class participation and assignment grades.
- Highlights: Implementing this feature also requires sufficient understanding of the
Model
and Storage
components of the application. For config
to be used multiple times, I had to reset the class details of existing students whenever the user configured Class Manager. The previous states of Class Manager also had to be reset to prevent users from using undo
commands to reach a state before Class Manager was configured.
Enhancement to existing AB-4 features: undo
and redo
command (PR: #119)
- What it does: Allows users to undo and redo commands that modify the state of Class Manager.
- Justification: This feature allows users to undo and redo commands that modify the data of Class Manager. This is especially useful for TAs who may have accidentally deleted a student or recorded the wrong attendance for a student.
- Highlights: Reusing this AB-4 feature requires a comprehensive understanding of all components of Class Manager, as almost every component had to be updated to support undo and redo. There was also a deliberate effort to ensure that only relevant commands could be undone and redone. For example, the
list
command cannot be undone as it is not a command that modifies the data of Class Manager. - Credits: This feature reused the code of
undo
and redo
commands from AddressBook-Level4.
Documentation:
- User Guide:
- Added documentation for the following features:
load
, config
, undo
, redo
, history
, help
and exit
. - Added introduction and overview sections.
- Added features section that provides helpful tips to users.
- Formatted the command summary table into relevant sections.
- Handled formatting and spell-checking of the User Guide.
- Developer Guide:
- Added implementation details of the following features:
load
, config
, undo
and redo
. - Added user stories and use cases.
- Added manual testing for the following features:
config
and history
.
Team-based tasks:
- Set up the GitHub team organisation and repository.
- Managed releases and milestones for
v1.2
- v1.4
(3 releases) on GitHub. - Created the features demo for
v1.2
- v1.4
(3 releases). - Updated the project logs.
Review/mentoring:
Beyond the project team: