Project: ModuLight
ModuLight is a lightweight application for professors to manage and
perform statistical analysis on the educational records of students.
Given below are my contributions to the project.
New Features
addComp
- allows users to add a graded component to the app.
- Justification: Professors will need to add graded components into the system to track associated student scores.
editComp
: allows users to edit a graded component in the app.
- Justification: Professors may want to edit the name, maximum mark, or weightage of a component as the semester progresses.
- Highlights: Implementing this feature to automatically update all calculations and display it dynamically in the UI was challenging.
deleteComp
: allows users to delete a graded component in the app.
- Justification: Professors will need to add graded components into the system to track associated student scores.
Code contributed
My work was mostly foundational and/or related to the UI display.
- Major highlights:
- Created and modified Model-related methods to fit our own entities (
StudentBook
, GradedComponentBook
, StudentScoreBook
and ModelManager
) - Modified the UI and JavaFX code (
StudentCard
, GradedComponentCard
, StudentScoreCard
and other FXML files) to accommodate three entities
and dynamically update the UI whenever changes are made. - Modified the class infrastructure to link
Student
, GradedComponent
, StudentScore
and allow calculation of overall/mean scores.
- Testing related to add/edit/delete gradedComponents commands.
- For more details, refer to the RepoSense Link
Project management:
- As group leader, delegated tasks weekly to members.
- Largely managed the issue tracker, creating/closing issues and milestones from v.1.2 to v.1.4.
- Created demo version of Modulight for CS2101, with significant additional features including unused graphing feature.
Contributions to User Guide:
- Documented
addComp
, editComp
, and deleteComp
- Added parameter information for graded components.
- Added notes about score calculation and some FAQs.
Contributions to Developer Guide:
- Documented implementation of the UI component
- Documented sequence and activity diagrams of
addComp
, editComp
, deleteComp
commands. - Added a use case for deleting a graded component.