This project provides a comprehensive solution for educational institutions to manage their course scheduling process.It enables the user to manage classrooms, handle course schedules, inspect weekly schedules, and make further modifications easily.
- View all courses and their details
- Add new courses with:
- Course code
- Instructor name
- Time slot
- Duration in lecture hours
- Student list
- Assign/reassign classrooms to courses
- View course schedules in a weekly timetable
- View classroom capacities and schedules
- Automatic classroom distribution based on:
- Room capacity vs student count
- Schedule conflicts
- Time availability
- View classroom usage in weekly timetable
- View student schedules and enrollments
- Add/remove students from courses
- Check course conflicts for students
- View total course hours per student
The system requires two CSV files for initialization:
- Click "Import" in the settings menu
- Select either:
ClassroomCapacity.csv
for classroom dataCourses.csv
for course data
CSV Format for Courses:
Course;TimeToStart;DurationInLectureHours;Lecturer;Students
SE101;Monday 08:30;3;İlker Korkmaz;Student1;Student2
CSV Format for Classrooms:
Classroom;Capacity
C201;35
- Click "Distribute" in the settings menu
- System will automatically:
- Check classroom capacities
- Verify schedule conflicts
- Assign optimal classrooms
- Click the "New Course" button in the top bar
- Fill in the course details:
{ Course Code: "SE302", Instructor: "İlker Korkmaz", Students: ["Student1", "Student2"], TimeToStart: "Monday 08:30", DurationInLectureHours: "3", Classroom: "C201" }
This project provides a template to get started with React, TypeScript, Vite, and Electron. It includes HMR (Hot Module Replacement) and some ESLint rules for a minimal setup.
Ensure you have Node.js (>= 14.x) and either npm or yarn installed.
-
Install dependencies:
npm install
-
Run in development:
npm run dev
-
Build for production:
npm run build
- React
- TypeScript
- Vite
- Electron
- Material-UI
- Redux Toolkit
- IndexedDB