An intelligent, web-based automated scheduling application engineered to programmatically eliminate timetable conflicts across academic institutions. It parses multidimensional relational constraints—including class sections, specialized subjects, teacher availability indices, and lecture hall capacities—to compile optimal logistics layouts.
TimeWeaver transitions manual scheduling from a week-long trial-and-error dilemma into an instant, algorithmically driven operation, lowering scheduling conflicts to absolute zero.
- Conflict Resolution Matrix: Utilizes an algorithmic back-tracking structure designed to map out overlapping resources, preventing multi-booking scenarios across teachers or venues.
- Dynamic Constraint Handling: Factors in layered parameter rules like maximum teaching limits per day, specialized lab configurations, and year-specific tracking grids.
- Asynchronous Calculations UI: Built with a decoupled frontend interface that executes calendar grid rendering and updates asynchronously, preventing screen layout locking during structural re-computations.
- Modular Tabular Design: Displays multi-tier calendar profiles with quick filtering matrices sorted by specific departments, faculty names, or physical layouts.
- Frontend UI Framework: Vanilla JavaScript (ES6+ Modules), HTML5 Canvas / CSS3 Layout Grids
- Backend Framework: Node.js, Express.js
- State Management Architecture: Local Context Stores & Custom Asynchronous Event Relays
- Testing Automation: Mocha / Chai suite parameters
├── assets/ # Visual style configurations and custom tabular icons
├── core/ # Scheduling engine, constraint checkers, and resolution arrays
├── components/ # Tabular views, dynamic drag drops, and filtering panels
├── store/ # Transient client caching layer and session management
├── index.html # Main web layout context container
└── app.js # Application bootstrapper and orchestrator connection
- Clone the execution repository:
git clone https://github.com cd TimeWeaver - Install development environments:
npm install
- Execute local hot-reloading development preview:
Open
npm start
http://localhost:3000to interact with the scheduling canvas grid.
- Ingest Phase: Gathers structured inputs regarding structural groups, total teaching credits, and physical availability blocks.
- Validation Loop: Iterates through structural layers, checking each assigned slot against hard constraints (e.g., overlapping professor assignments) and soft guidelines (e.g., optimal lunch slots).
- Fallback Routine: If an impasse occurs, the algorithm steps back to preceding timeframes, adjusts configurations dynamically, and attempts an alternate distribution route.
This application setup is open-source software shared under the MIT License.