The authors of this project have graduated from university and hence would no longer develop new features for this project.
I (@kenrick95) would be happy to update the data from time to time, but you are also welcome to send a pull request to update the data.
This assumes you have a clone of the repository locally.
- Read NTU's published academic calendar PDF and add the new semester's four dates to
academic-calendar.jsoninYYYY-MM-DDformat. Keep the previous entries; the updater selects the latest year and semester. - Commit and push the calendar change. The scheduled update runs each Monday at 04:17 UTC, or you can start Update NTU data from GitHub Actions immediately. It fetches course and exam timetables, validates them, updates the site defaults, commits the resulting files, and deploys them. A failed fetch or parse stops before publishing; check the Actions log and retry when NTU has published the data.
Run Update NTU data from GitHub Actions. It also runs weekly to capture changes to the published course and exam schedules. Locally, with PHP CLI, curl and XML extensions installed, run php scripts/update_data.php.
- Serve the project locally:
php -S localhost:8000- Open browser and navigate to
http://localhost:8000/back_end/ - Input the year and semester
- Leave
plan_noempty to detect it automatically. If detection fails, inspect thep_plan_noradio value for that year and semester at https://wis.ntu.edu.sg/webexe/owa/exam_timetable_und.Main and enter it manually. - Click "Get + parse"
- Wait till all done
- If anything goes wrong, please file an issue.
- Commit your changes and send a pull request.