Disclaimer: This is an independent, unofficial open-source student tool. It is neither affiliated with, maintained by, nor officially endorsed by Universiti Malaysia Perlis (UniMAP).
A fast, privacy-first cross-platform academic timetable for students, available as a lightweight desktop app (Windows, macOS, Linux), offline Progressive Web App (PWA), and mobile app.
This project is structured as a unified multi-platform Cargo workspace with a single source of truth for all schedule logic:
crates/timetable-core: Pure Rust schedule engine, reminder planner, RFC 5545.icsgenerator, time calculation with fixed +08:00 offset, and schedule validator with fake clock test harness.crates/timetable-wasm:wasm-bindgenbindings running the Rust core directly in web browsers.src-tauri: Native Tauri desktop shell with background system tray, native notifications, single-instance lock, safe link routing, and direct Windows wallpaper setters.web/: Shared frontend (HTML5/CSS3/ES6) with PWA offline support andbackend.js3-tier adapter (Tauri IPC➔WASM➔Client JS).
- Accurate Time Engine: Computes active class, upcoming class, countdowns, and daily free gaps (including Friday prayer breaks).
- Single Source of Truth:
schedule.jsondrives the web view, calendar.icsfiles, and AI crawler guides (llms.txt). - Native Desktop Integration:
- System tray icon with live status reflection and tooltip display.
- Native system notifications for upcoming classes.
- Set generated timetable graphic directly as Windows desktop wallpaper.
- Close-to-tray and single-instance protection.
- External link isolation (opens group links in default system browser).
- Offline First & PWA: Service worker caching, homescreen installation, and zero mandatory cloud dependencies.
- Rust & Cargo: (1.80+)
- Windows: MSVC C++ Build Tools or MinGW-w64 / w64devkit.
- Node.js / npm: (optional, only if using external bundlers; workspace builds with native Cargo).
# Run unit tests (fake clock, weekend checks, midnight rollover, free gaps)
cargo test -p timetable-core# Rebuild web/llms.txt and web/schedule.ics from schedule.json
cargo run --bin generate -p timetable-core# Debug desktop build
cargo run --manifest-path src-tauri/Cargo.toml# Built-in PowerShell HTTP server
powershell -ExecutionPolicy Bypass -File scripts/serve.ps1Open http://127.0.0.1:8080/ in your browser.
- No Remote Telemetry: All schedule calculations, notifications, and user preferences (reduce motion, custom group links, layout toggles) remain exclusively on your device.
- Strict Content Security Policy (CSP): The Tauri desktop webview enforces an explicit CSP and restricts external navigations to protect against untrusted remote code execution.
- Minimal System Permissions: Capabilities are scoped strictly to native notifications and core IPC. Shell execution commands are disabled.
MIT License. See LICENSE for details.