Project: Watson, The Teacher’s Companion

Watson is a desktop database application that reduces the administrative workload of teachers greatly. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.

Given below are my contributions to the project.

  • New Features:
    • Login Page: Added a login page for the application.
      • What it does: allows the user to log in to the application.
      • Justification: This feature is useful in ensuring that data related to a user can only be accessed with the user’s login details.
      • Note that the current feature is a placeholder due to the nature of the project (desktop application). In the future, with a potential move to an online-based application, this feature will be more useful.
    • Predict Command: Added a command that allows the user to predict the grades of students in a class.
      • What it does: allows the user to predict the grades of students in a class.
      • Justification: This feature is useful in allowing the user to quickly identify weaker students.
  • Code contributed: RepoSense link
    Pull Requests
    • (#20): Modifications to AboutUs.md
    • (#24): Added a skeletal Personal Portfolio Page
    • (#34): Made changes to the product site
    • (#38): Made changes to the user guide
    • (#40): Fixed GitHub icon on product website resulting in a 404 error
    • (#48): Made name changes to documentation due to a change in project direction
    • (#53): Added a login page
    • (#59): Refactored various classes in the Person model
    • (#60): Massive codestyle changes to comply with checkstyle
    • (#64): Added fixes related to the Subject class and its fields
    • (#65): Added some null checks for defensive programming
    • (#68): Developer Guide changes
    • (#69): Add predictive algorithm
    • (#82): Predictive Algorithm 2
    • (#83): Add fixes for Attendance field
    • (#85): Common fixes
    • (#88): Predictive Algorithm 3
    • (#95): Massive Refactoring
    • (#96): Massive Refactoring
    • (#97): Name Changes
    • (#99): Test changes
    • (#103): Find command fixes
    • (#105): Minor field fix
    • (#108): Feature fixes
    • (#112): Minor fixes
    • (#113): Index number fix
    • (#115): Checkstyle fixes
    • (#116): User guide dev guide update
    • (#117): Update User Guide images
    • (#118): Read Me changes
    • (#185): Fix fxml
    • (#186): Storage fixes
    • (#188): Command fixes
    • (#193): More fixes
    • (#196): Attendance fix
    • (#198): Massive UG update
    • (#199): User guide v2
    • (#200): Checkstyle fixes v1.4
    • (#202): Ppp additions ezra
    • (#205): Date sanity check
    • (#212): Codecov patches
  • Project management:
    • Group Leader
    • Managed releases v1.0 - v1.3 (3 releases) on GitHub
    • Managed the project’s issue tracker (added relevant tags and handled issue assignment)
    • Managed the project’s pull requests (merged and closed 56 pull requests)
    • Allocated the fixing of PE-D bugs amongst team members
  • Enhancements to existing features:
    • Added fixes to the AddCommand, FindCommand and EditCommand classes to ensure that the application is more robust.
    • Converted the Person model to a Student model, and added the SubjectHandler field.
  • Documentation:
    • User Guide:
      • Rewrote the entire user guide from scratch (#198), (#199)
      • Added documentation for existing features (add, delete, edit, find, list, clear, exit, help) [#198], [#199], including examples, step-by-step instructions, and troubleshooting instructions
  • Community: