Project: TimesTable

TimesTable is a desktop class management application for tuition teachers to keep track of their students and classes. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 25 kLoC.

Given below are my contributions to the project.

  • New feature: Added a schedule command that filters and sort students by their class timing (V1.2)
    • What it does: Allows the user to filter students by day of which they are attending their class, so that user can see who he is teaching and when.
    • Justification: Provides early functionality to sort students by their class timing during the early phases of the application. Provides some early work towards functions like sort and back-end processing of TuitionClass and ClassTiming.
    • Highlights: Provide a foundation for later iteration which improved the functionality of TuitionClass and ClassTiming.
    • Pull request: #62, #71
  • New feature: Added the basic GUI for the TuitionClass list in the classes tab
    • What it does: Allows the user to view the classes currently in TimesTable.
    • Justification: Allows the user to know the details of classes currently in TimesTable, so that they can have a better idea of their workload and schedule.
    • Highlights: Provide a foundation for later improvement and iterations in the classes tab.
    • Commits: 1
  • New feature Added the backend support for UniqueClassList and TuitionClass
    • What it does: Create support for adding and removing TuitionClass in UniqueClassList by ensuring no overlap and proper updates from and to storage.
    • Justification: Ensures that there is smooth reading of the JSON file into the model and overlapping class timing between tuition classes are not allowed during editing and adding of class.
    • Highlights: Provide support for AddClassCommand, EditClassCommand and safe reading of JSON file into model.
    • Commits: 1, 2, 3
  • Code contributed: Reposense

  • Enhancements to existing features:
    • Link the JSON file and UniqueClassList in model, allowing the model to save (Commits 1, 2, 3)
    • Wrote additional tests for existing features to increase coverage (Pull request #234, #259, #281)
    • Bug fixes for features Class size in classes tab and Student list in classes tab (Pull request #106, #137, #246, #249, #251, #252)
    • Fix old test cases which were outdated due to change in commands (Pull request #115, #155)
  • Documentation
    • User Guide:
      • Added basic documentation for features addclass, deleteclass, addtoclass, editclass, findclass, listclass #130
      • Added documentation on filtering students #281
    • Developer Guide
      • Added use cases (Pull request #17, #265)
      • Updated Storage component and UML diagram #290
      • Added sequence diagrams and implementation detail for AddClassCommand and edited other UML diagrams (Pull request #294, #295, #333)
      • Added challenges faced in AddClassCommand #344
      • Added documentation and sequence diagrams for DeleteClassCommand #320 #333, #339)
      • Added documentation and sequence diagrams for DeleteClassCommand (Pull request #320, #333)
      • Added method for manual testing of deleteclass, removefromclass, findtag and view #332
  • Community