Project: Teaching Assistant

Overview

Teaching Assistant is a desktop application used for managing contacts and entries for JC/Secondary school teachers. The user interacts with it using a Command Line Interface (CLI), and it has a Graphical User Interface (GUI) created with JavaFX. It is written in Java, and has about 10 (tbc) kLoC.

Summary of Contributions

Given below are some of my major contributions to the project.

  • Code contributed: RepoSense Link
  • Enhancements implemented:
    • Add Schedule class in #45
      • Add and find schedule commands in #54
      • Delete schedule command in #60
    • Refactor Schedule and Task classes into a single Entry class in #90
      • Delete entry command in #94 and #102
      • Edit entry command in #112
      • Find and Filter entry command tests in #192 and #200
    • Refactor Person class into Contact class in #181
    • Refactor all tests in #243
      • Implement add and edit entry command parsers
      • Fix styling
      • Look after the entire test suite
  • Documentation:
    • Developer Guide
      • User Stories #22
      • One implementation #80
      • Architecture, Getting Started in #231
      • Table of Contents, Appendix: Manual testing #262
    • User Guide
      • Quick Start, Table in Contents in #87
  • Review Contributions:
    • Major refactoring problems in #89
    • Missing PlantUML diagrams in #245
    • Enforce UML diagram standard in #248

Contributions to the Developer Guide (Extracts)

Architecture Sequence Diagram

Architecture Sequence Diagram


Delete Contact Sequence Diagram

Delete Contact Sequence Diagram


Entry Activity Diagram

Entry Activity Diagram


Entry Class Diagram

Entry Class Diagram


Filter Entry Sequence Diagram

Filter Entry Sequence Diagram


Logic Class Diagram

Logic Class Diagram


Model Class Diagram

Model Class Diagram


Schedule and Task Activity Diagram

Schedule and Task Activity Diagram


Storage Class Diagram

Storage Class Diagram


Ui Class Diagram

Ui Class Diagram