Timetables without the clashes.
Open your courses in MMU CLiC, press Retrieve, and CLiCScrape builds up to five clash-free weekly plans from your filters. You do the clicking. It does the maths.
How it works
Set up once per trimester. Four steps from course list to timetable.
Open CLiC
Log in as usual and open Enroll by My Requirements for your trimester. The panel picks up your course list.
Retrieve courses
Tick your courses, open each Course Information page, and press Retrieve this course.
Set filters
Choose days to keep free, the earliest start, the latest end, and whether full classes count.
Generate plans
Get up to five random clash-free plans with the option numbers to pick. Then enrol yourself in CLiC.
- Free days
- Tick the weekdays you want completely free.
- Time window
- Set the earliest class start and the latest class end.
- Open seats
- On by default. Turn it off to include full sections.
- Weekly grid
- Every plan is drawn as a week, with option numbers and a Copy button.
- No false plans
- If nothing fits your filters, it says so instead of showing a plan that breaks them.
- Careful parsing
- Retrieve refuses to save when the option count or a time doesn't match the page, and tells you why.
Watch it work
From a bare course list to a finished timetable.
What it reads, and what it doesn't
CLiCScrape reads pages you already opened, and keeps what it reads in your browser's local extension storage.
What it reads
- Course code, title and units
- Each option's status and sections (LEC, TUT)
- Days, times and rooms
- Seats and meeting dates
What it never touches
- Logins, passwords or credentials
- Student names or student IDs
- Any site other than clic.mmu.edu.my
- Any server. Nothing is sent anywhere.
How it's built
- JavaScript
- A parser, a scheduler, a store and the panel, written as plain modules.
- Manifest V3
- Runs only on clic.mmu.edu.my.
- Shadow DOM
- The panel is isolated, so it can't clash with CLiC's own styles.
- chrome.storage.local
- Retrieved courses and your filters are saved locally, in your browser.
- jsdom tests
- CLiC-shaped pages, driven through the panel's buttons, with plan counts checked against an independent brute force.
Questions
Will it enrol me automatically?
No. It never logs in, clicks or enrols for you. You enrol yourself in CLiC using the option numbers shown in a plan.
Why is an option missing from my plans?
Greyed-out options are never used. If you are already enrolled in some classes, CLiC hides the real times of clashing sections behind "Time Conflict", so those options are left out. An option whose time can't be parsed is excluded rather than guessed.
Are the seat counts live?
They are as of the moment you pressed Retrieve. Press Retrieve again on each course before you enrol, because seats change while enrolment is open.
Something looks wrong, or CLiC changed.
A redesign of CLiC can stop the extension recognising a page. Open an issue on GitHub or email the developer and it will get looked at.