Timetable Manager is a desktop application designed to streamline the management of academic schedules. It offers features for efficiently assigning classrooms, organizing course timetables, and generating weekly schedules for students, instructors, and classrooms. The application is developed using Java, with JavaFX for the graphical user interface (GUI) and SQLite for database management.
- Operating system: Windows
- Ensure you have Java Runtime Environment (JRE) installed (version 8 or higher). Download JRE here.
- Download the latest release of the Timetable Manager
- Open setup.exe in the project folder
- Follow the installation guide:
- Choose an install folder
- Decide on creating
- Launch the app from the Start Menu or Desktop Shortcut
Data import: The system supports data import via an import button, allowing users to upload Courses.csv and ClassroomCapacity.csv files. The imported files are processed, and their content is stored in TimetableManager.db
Add New Courses: Add new courses by entering details such as course name, start time, classroom, capacity, duration, and lecturer. Also showing a schedule timetable.
Enrollment Students: Allows adding and removing students from the selected course.
Assignment Classroom and Course: Enables matching the selected classroom with the chosen course.
Swap Course Classrooms: Enables users to change the classrooms of courses without issues related to classroom capacities directly from the course page.
View Weekly Schedules: Users can view predefined weekly schedules for courses,capcaity, duration, start time, classrooms and lecturers.
Search and Refresh: Quickly refresh schedules and search for specific data.
Database: The system stores data in an SQLite database file located in the user's Documents folder.
CSV Support: The application supports importing classroom and course data from CSV files.
Access the inbuilt Help menu for detailed instructions on using the application. No internet connection is required to view the manual.
If you find a bug or want to suggest a new feature, please open an issue on the GitHub repository.
We use Trello to manage tasks and track the progress of this project. You can view our Trello board here.
Link to the Design Document (PDF) here.
Link to the Requirements Document (PDF) here.

