project-b6262f24

byhemani bathirajalapathi

Build a production-ready Full Stack Java Spring Boot web application named "Hustlers – Automatic Timetable Scheduling System". Tech Stack: - Java 21 - Spring Boot 3 - Spring MVC - Spring Security - Spring Data JPA - Hibernate - MySQL - Thymeleaf (or React if preferred) - Bootstrap 5 - HTML, CSS, JavaScript - Maven ================================================== PROJECT GOAL ================================================== Develop an AI-powered Automatic College Timetable Scheduling System that generates conflict-free timetables for all departments automatically. The application must include an intelligent scheduling engine using Constraint Satisfaction + Backtracking + Greedy Optimization. ================================================== LOGIN ================================================== Admin Login Username Password Secure authentication using Spring Security. After login open Dashboard. ================================================== DASHBOARD ================================================== Display department cards. Departments: • CSE • BME • ECE • EEE • AI&DS • MBA Each department should have Manage Students Manage Sections Manage Subjects Manage Faculty Generate Timetable Faculty Timetable Rooms Labs Reports ================================================== STEP 1 STUDENT STRENGTH ================================================== Ask Enter Student Strength Automatically create sections. Rules Maximum 60 students per section. Example 45 -> Section A 60 -> Section A 61 -> Section A,B 120 -> A,B 121 -> A,B,C 180 -> A,B,C 240 -> A,B,C,D Generate section names automatically. ================================================== STEP 2 SUBJECT ENTRY ================================================== Ask Number of Subjects For every subject ask Subject Code Subject Name Theory or Lab Semester Department Credits Periods per Week Faculty Name Faculty ID Room If Lab Lab Name Faculty 1 Faculty 2 Lab Room Lab Duration = 2 consecutive periods ================================================== STEP 3 FACULTY ================================================== Faculty Details Faculty Name Faculty ID Department Email Phone Maximum Hours per Week Subjects Handling Availability One faculty may teach multiple subjects. ================================================== STEP 4 ROOMS ================================================== Create room management. Theory Rooms Lab Rooms Capacity Availability No room conflicts allowed. ================================================== STEP 5 WORKING DAYS ================================================== Working Days = 6 Monday Tuesday Wednesday Thursday Friday Saturday ================================================== STEP 6 PERIODS ================================================== 7 Periods Daily Period 1 08:30 AM – 09:20 AM Period 2 09:20 AM – 10:10 AM Tea Break 10:10 AM – 10:25 AM Period 3 10:25 AM – 11:15 AM Period 4 11:15 AM – 12:10 PM Lunch 12:10 PM – 01:00 PM Period 5 01:00 PM – 01:50 PM Period 6 01:50 PM – 02:40 PM Period 7 02:40 PM – 03:30 PM Total Weekly Slots 42 ================================================== TIMETABLE RULES ================================================== The scheduling engine MUST satisfy ALL constraints. 1. Assign every subject exactly the entered number of periods. 2. No faculty conflict. One faculty cannot teach two classes simultaneously. 3. No room conflict. 4. No laboratory conflict. 5. Lab must occupy two consecutive periods. 6. Lab cannot cross lunch break. 7. Maximum one lab per section per day. 8. Distribute theory subjects evenly. 9. Avoid same subject in consecutive periods. 10. Avoid same faculty teaching continuously for more than four periods. 11. Faculty workload must be balanced. 12. Do not exceed faculty maximum weekly workload. 13. Saturday should contain fewer theory classes where possible. 14. Every section must receive exactly 42 timetable slots. 15. Unused slots should display FREE. 16. No duplicate allocations. 17. No timetable conflicts. 18. Allow elective subjects. 19. Allow shared faculty across departments. 20. Allow regeneration without losing saved data. ================================================== AI SCHEDULER ================================================== Use Constraint Satisfaction Problem (CSP) Use Backtracking Use Greedy Optimization Use Heuristic Selection Scheduling Process Read all departments. Create sections. Read subjects. Read faculty. Read labs. Read rooms. Calculate total required periods. Randomly assign slots. Validate constraints. If conflict Backtrack. Try another slot. Repeat until a valid timetable is generated. ================================================== DISPLAY ================================================== Display timetable as professional tables. Rows Monday Tuesday Wednesday Thursday Friday Saturday Columns Period 1 Period 2 Period 3 Period 4 Period 5 Period 6 Period 7 Each cell should display Subject Faculty Room ================================================== FACULTY TIMETABLE ================================================== Generate automatic faculty timetable. Display Class Department Subject Room Time ================================================== SECTION TIMETABLE ================================================== Generate separate timetable for every section. Example CSE A CSE B CSE C ECE A EEE A AI&DS A MBA A ================================================== REPORTS ================================================== Faculty workload Subject distribution Room utilization Lab utilization Department summary Weekly statistics ================================================== EXPORT ================================================== Generate PDF Excel CSV Print ================================================== DATABASE TABLES ================================================== Department Section StudentStrength Faculty Subject Lab Room Timetable Period FacultyWorkload ================================================== DESIGN ================================================== Modern responsive UI Bootstrap 5 Professional dashboard Sidebar navigation Cards Animations Dark Mode Search Filters Editable timetable Conflict highlighting Color-coded subjects ================================================== PROJECT STRUCTURE ================================================== Use MVC architecture. Create packages: controller service repository entity dto config security scheduler exception utils resources templates static ================================================== CODE QUALITY ================================================== Generate complete runnable code. Do not generate placeholders. Do not omit backend logic. Implement MySQL integration. Implement complete CRUD operations. Generate all entities, repositories, services, controllers, HTML pages, CSS, JavaScript, SQL schema, REST APIs, scheduling engine, validation, authentication, export functionality, and a fully working automatic timetable scheduler.

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 5

project-b6262f24

Introduction

The project, named "Hustlers – Automatic Timetable Scheduling System," aims to develop an AI-powered Automatic College Timetable Scheduling System. The system will generate conflict-free timetables for all departments automatically using advanced scheduling algorithms. This document outlines the system requirements for the project.

System Overview

The "Hustlers – Automatic Timetable Scheduling System" is designed to automate the creation of college timetables, ensuring they are conflict-free and optimized for all departments. The system will leverage Constraint Satisfaction Problem (CSP), Backtracking, Greedy Optimization, and Heuristic Selection to achieve this goal. It will feature a modern responsive UI built with Java Spring Boot, Bootstrap 5, and other web technologies.

Page 2 of 5

Functional Requirements as Story Points

  • As an Admin, I should be able to log in securely using Spring Security.
  • As an Admin, I should be able to view a dashboard displaying department cards.
  • As an Admin, I should be able to manage students, sections, subjects, faculty, rooms, and labs for each department.
  • As an Admin, I should be able to generate timetables for each department.
  • As an Admin, I should be able to enter student strength and automatically create sections.
  • As an Admin, I should be able to enter subject details including code, name, type, semester, department, credits, periods per week, and faculty information.
  • As an Admin, I should be able to manage faculty details including name, ID, department, email, phone, maximum hours per week, subjects handling, and availability.
  • As an Admin, I should be able to manage room details including type, capacity, and availability.
  • As an Admin, I should be able to define working days and periods.
  • As an Admin, I should be able to ensure the scheduling engine satisfies all constraints.
  • As an Admin, I should be able to regenerate timetables without losing saved data.
  • As an Admin, I should be able to display timetables in a professional table format.
  • As an Admin, I should be able to generate and display automatic faculty timetables.
  • As an Admin, I should be able to generate separate timetables for every section.
  • As an Admin, I should be able to generate reports on faculty workload, subject distribution, room and lab utilization, department summary, and weekly statistics.
  • As an Admin, I should be able to export timetables in PDF, Excel, CSV formats, and print them.

User Personas

  • Admin: Responsible for managing the entire scheduling system, including data entry, timetable generation, and report generation.

Core User Flows

  1. Admin Login: Admin logs in -> Views dashboard -> Manages departments and data -> Generates timetable -> Views and exports reports.
  2. Timetable Generation: Admin enters student strength -> System creates sections -> Admin enters subject and faculty details -> System generates timetable -> Admin reviews and exports timetable.
Page 3 of 5

Visuals Colors and Theme

  • primary: #1E3A8A (Deep Blue)
  • primary_light: #3B82F6 (Light Blue)
  • secondary: #F97316 (Orange)
  • accent: #10B981 (Green)
  • highlight: #F59E0B (Amber)
  • bg: #F3F4F6 (Light Gray)
  • surface: rgba(255, 255, 255, 0.8)
  • text: #111827 (Dark Gray)
  • text_muted: #6B7280 (Muted Gray)
  • border: rgba(209, 213, 219, 0.2)

Signature Design Concept

The homepage will feature an interactive timetable visualization where users can drag and drop subjects, faculty, and rooms to create a custom timetable. The interface will use a dynamic grid layout that updates in real-time, providing instant feedback on conflicts and available slots. The design will incorporate smooth animations using motion/react to enhance user interaction, making the scheduling process intuitive and engaging.

Page 4 of 5

Landing Hero Motion Brief

The landing page will feature a continuous animation of a timetable being automatically generated. The animation will show subjects, faculty, and rooms dynamically filling in slots, highlighting the AI-driven scheduling process. The animation will loop every 10 seconds, demonstrating the system's efficiency in resolving conflicts and optimizing schedules. Users can interact with the animation by hovering over elements to see detailed information about each timetable entry.

Interaction Model & Motion Direction

  • Intended Interaction Model: Animated
  • The landing page will feature moderate scroll-triggered reveals and hover transitions, enhancing the user experience with polished animations and interactive elements.

Non-Functional Requirements

  • The system must be highly responsive and accessible across different devices and screen sizes.
  • Ensure data security and privacy, especially for sensitive information like faculty and student details.
  • The application should be scalable to accommodate future enhancements and additional departments.

Tech Stack

  • Frontend: Thymeleaf or React, Bootstrap 5, HTML, CSS, JavaScript
  • Backend: Java 21, Spring Boot 3, Spring MVC, Spring Security, Spring Data JPA, Hibernate
  • Database: MySQL
  • Build Tool: Maven
Page 5 of 5

Assumptions and Constraints

  • The system assumes a maximum of 60 students per section.
  • The scheduling engine must adhere to all defined constraints to ensure conflict-free timetables.
  • The application will be deployed in an environment supporting Java Spring Boot applications.

Glossary

  • CSP: Constraint Satisfaction Problem
  • CRUD: Create, Read, Update, Delete
  • UI: User Interface
  • AI: Artificial Intelligence
  • MVC: Model-View-Controller

This document provides a comprehensive overview of the system requirements for the "Hustlers – Automatic Timetable Scheduling System," ensuring a robust and efficient solution for automatic timetable scheduling.

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Login: Sign In
Dashboard: View Departments
Students: Enter Strength
Sections: Auto Create
Subjects: Add Details
Faculty: Manage Details
Rooms: Manage Rooms
Labs: Manage Labs
Timetable: Generate
Timetable: View Section
Faculty Timetable: View
Reports: View Reports
Reports: Export Data

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Login: Sign In
Dashboard: View Departments
Students: Enter Strength
Sections: Auto Create
Subjects: Add Details
Faculty: Manage Details
Rooms: Manage Rooms
Labs: Manage Labs
Timetable: Generate
Timetable: View Section
Faculty Timetable: View
Reports: View Reports
Reports: Export Data