A Java-based desktop application for academic timetable management. Students can register for courses and view their personalized timetables. Admins can add, delete, and manage course details including day and time — with real-time MySQL backend integration.
- 📚 View available courses
- ✅ Register for courses
- ❌ Unregister from courses
- 📅 View personalized timetable (with day & time)
- ➕ Add new courses (code, name, credits, semester, day, time slot)
- 🗑️ Delete existing courses
- 📖 View all courses in the database
- JDBC-based connectivity
- Uses
coursesandstudent_coursestables - Easily extensible schema
CREATE TABLE courses (
code VARCHAR(10) PRIMARY KEY,
name VARCHAR(100),
credits INT,
semester INT,
day VARCHAR(20),
time_slot VARCHAR(20)
);CREATE TABLE student_courses (
id INT AUTO_INCREMENT PRIMARY KEY,
student_id VARCHAR(50),
course_code VARCHAR(10),
FOREIGN KEY (course_code) REFERENCES courses(code)
);| Layer | Tech |
|---|---|
| Language | Java 17 |
| UI Framework | Java Swing (JFrame, JPanel) |
| Database | MySQL |
| DB Connector | JDBC |
| IDE Used | VS Code / Eclipse |
git clone https://github.com/<your-username>/time-table-builder.git
cd time-table-builder- Create a MySQL DB: CREATE DATABASE timetable_db;
- Run the schema (see above)
- Insert some sample courses
private static final String URL = "jdbc:mysql://localhost:3306/timetable_db";
private static final String USER = "root";
private static final String PASSWORD = "your_password";- Use VS Code or Eclipse
- Run AdminPortal.java for admin tasks
- Run StudentPortal.java for student registration and timetable
🔐 Role-based login system
📊 Grid-style timetable display
🧑🏫 Teacher portal with course assignment
❗ Timetable conflict detection
📤 Export to PDF