codecov CI Status

Ui

TimesTable is a desktop app for managing your tuition students and classes, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). While it has a GUI, it can be controlled by typing in commands using the CLI. If you can type fast, TimesTable can get your class management tasks done faster than traditional GUI apps.

Features

Student Management

Ui

TimesTable supports all basic contact management commands such as adding of students and their contact info, editing of contact info, deleting students, finding students, sorting, etc. Furthermore, TimesTable also stores the Next-of-Kin(NOK) information of the student, which is important and often used. This is displayed to the right of the student information.

Class Management

ClassList

TimesTable allows users to easily create and manage their classes. The Class tab shows all the information about your various classes at a glance, with the student information in the sidebar on the right. Users can easily add and remove students from the various classes using the commands. The class list can also be filtered to search for a specific class.

View Timetable

Timetable

TimesTable automatically generates a timetable for you based on the classes that you have added. Simply head over to the Timetable tab by clicking on it or using the view command.

Acknowledgements

  • Libraries used: JavaFX, Jackson, JUnit5
  • The Timetable feature was inspired by a similar feature in the past project of Pet Store Helper (DG). The implementation of the components of the Timetable feature (TimetableTuitionClassSlot, TimetableDay, TimetableRegion and TimetableEmptySlot) has been adapted from them with maximum changes to fit our app. The implementation of how we built and designed (TimetablePanel.java) the entire Timetable Tab (layout, classes etc) is entirely new.