Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kenrick95/plan
NTU Course Planner
https://github.com/kenrick95/plan
course ntu ntu-course-planner php planner scheduling
Last synced: 18 days ago
JSON representation
NTU Course Planner
- Host: GitHub
- URL: https://github.com/kenrick95/plan
- Owner: kenrick95
- License: mit
- Created: 2014-11-28T15:43:56.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-07-26T14:24:50.000Z (4 months ago)
- Last Synced: 2024-10-13T09:16:21.536Z (about 1 month ago)
- Topics: course, ntu, ntu-course-planner, php, planner, scheduling
- Language: HTML
- Homepage: https://plan.kenrick95.org/
- Size: 33.8 MB
- Stars: 23
- Watchers: 6
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# plan*
A PHP-based application that help students of NTU (Nanyang Technological University) to plan their courses.
The application do web-scraping of course data from NTU public server, parses the data and stores them into meaningful content, and then do the scheduling of the courses based on user input.
### Back-end Architecture
* Getter ([getter.php](https://github.com/kenrick95/plan/blob/master/back_end/getter.php))
- fetch data from NTU's server ([course schedule](https://wish.wis.ntu.edu.sg/webexe/owa/aus_schedule.main) ([directly to this](https://wish.wis.ntu.edu.sg/webexe/owa/AUS_SCHEDULE.main_display1)) and [exam schedule](https://wis.ntu.edu.sg/webexe/owa/exam_timetable_und.main))
- store the HTML file locally
* Parser ([parse.php](https://github.com/kenrick95/plan/blob/master/back_end/parser/parse.php) and [parse_exam.php](https://github.com/kenrick95/plan/blob/master/back_end/parser/parse_exam.php))
- clean and parse the HTML file (read the file as XML file) :persevere:
- store the PHP object as JSON file
* Scheduler ([scheduler.php](https://github.com/kenrick95/plan/blob/master/back_end/scheduler.php))
- fecth locally-stored JSON file
- convert as PHP object
- do scheduling as requested from user input