ู ุฌุฏูู ุฌุงู ุนุฉ ุทูุจุฉ ุงูุฐูู | Smart Academic Schedule Generator for Taibah University
A modern, high-performance, open-source web application designed to automatically generate collision-free academic schedules for university students.
- ๐ 100% Client-Side & Privacy First: Zero student data is sent to servers. Everything executes inside your browser using fast background Web Workers.
- ๐ Interactive Weekly Timetable Grid (ุงูุฌุฏูู ุงูุฃุณุจูุนู ุงูุชูุงุนูู): Color-coded visual timetable (Sunday to Thursday, 08:00 to 18:00) with instructor information and instant detail popovers.
- ๐ Detailed Matrix Table View (ุฌุฏูู ุงูุชูุงุตูู): Tabular overview showing course codes, sections, instructor names, times, and available seats.
- โก High-Performance Constraint Solver (ุฎูุงุฑุฒู ูุฉ ุจุญุซ ู ุชุทูุฑุฉ): DFS Backtracking solver with early branch pruning ($O(\text{valid combinations})$) running in a background Web Workerโguaranteeing smooth 60fps UI even with thousands of potential combinations.
- ๐ฏ Multi-Criteria Smart Filters (ููุงุชุฑ ูุชุฑุชูุจ ุฐูู):
- Filter by Days Off (ุฃูุงู ูุฑุงุบ 1, 2, 3+).
- Filter by Available Seats Only (ุงูู ูุงุนุฏ ุงูู ุชุงุญุฉ).
- Live search by Doctor / Instructor Name or Section Number.
- Sort by Least Gaps Between Lectures (ุฃูู ูุฑุงุบุงุช), Earliest Finish, or Latest Start (No 8 AMs).
- ๐ฒ Export & Calendar Sync (ุชุตุฏูุฑ ู
ุชูุงู
ู):
-
iCalendar (
.ics) Export: One-click sync with Apple Calendar, Google Calendar, and Microsoft Outlook. - High-Resolution PNG Snapshot: Download a crisp image of your schedule ready for WhatsApp and Telegram student groups.
-
Print-Friendly View (
@media print): Clean layout optimized for physical A4 printing.
-
iCalendar (
- ๐ฅ Flexible All-in-One Input Hub (ุทุฑู ุฅุฏุฎุงู ู
ุชุนุฏุฏุฉ):
- Drag & Drop
.htmltimetable file exported from TaibahReg (EAS). - Direct HTML/Text Paste Box.
- 1-Click Demo Data Button for immediate testing without a university account.
- Drag & Drop
- ๐ Full Bilingual Support (ุฏุนู
ุซูุงุฆู ุงููุบุฉ ุจุงููุงู
ู):
- Arabic (ุงูุนุฑุจูุฉ - RTL) & English (LTR).
- Sleek Dark Mode & Light Mode themes with modern typography (Tajawal, Outfit, JetBrains Mono).
- Node.js (v18 or higher)
- npm or pnpm or yarn
# Clone the repository
git clone https://github.com/your-username/schedulemaker.git
cd schedulemaker
# Install dependencies
npm install
# Start local development server
npm run dev# Compile and bundle static assets to /dist
npm run build
# Preview production build locally
npm run preview- Log into TaibahReg (EAS) at eas.taibahu.edu.sa.
- Navigate to the Timetable (ุงูุฌุฏูู ุงูุฒู ูู) page.
- Right-click anywhere in the page and select Save As... (ุญูุธ ุจุงุณู ) as an HTML file.
- Drag and drop the saved file into ScheduleMaker.
- Add your desired course codes and numbers, then click Generate Valid Schedules (ุชูููุฏ ูุจุญุซ ุงูุฌุฏุงูู)!
src/
โโโ components/ # Reusable UI controllers
โ โโโ CalendarGrid.js # Weekly graphical time matrix
โ โโโ TableView.js # Detailed table breakdown
โ โโโ CourseSelector.js# Autocomplete course builder
โ โโโ FilterBar.js # Multi-criteria filter & sort
โ โโโ ImportModal.js # Drag-and-drop & paste modal
โ โโโ HelpModal.js # Interactive tutorial guide
โ โโโ Notification.js # Web Audio synthesized chime & toasts
โโโ engine/ # Core scheduling logic
โ โโโ parser.js # Semantic HTML table extractor
โ โโโ time.js # Normalizer (minutes from 00:00 & collision detection)
โ โโโ sampleData.js # Realistic Taibah sample dataset
โ โโโ solver.js # Main-thread coordinator
โ โโโ solver.worker.js # Web Worker DFS backtracking engine
โโโ i18n/ # Localization dictionary (AR / EN)
โ โโโ translations.js
โโโ styles/ # Design system & theme tokens
โ โโโ variables.css
โ โโโ base.css
โ โโโ components.css
โ โโโ calendar.css
โโโ utils/ # Exporters & Storage
โ โโโ icsExporter.js # iCalendar RFC 5545 generator
โ โโโ imageExporter.js # High-res PNG snapshot generator
โ โโโ storage.js # LocalStorage state persistence
โโโ index.html # Semantic HTML5 entrypoint
โโโ main.js # Application bootstrapper
This project is open-source and available under the MIT License.