chengkangzai / laravel-apu-schedule
This package will find APU schedule from the open data of APU.
Fund package maintenance!
chengkangzai
Installs: 436
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 3
pkg:composer/chengkangzai/laravel-apu-schedule
Requires
- php: ^8.3
- guzzlehttp/guzzle: ^7.9.2
- spatie/laravel-data: ^4.13.1
- spatie/laravel-package-tools: ^1.19
Requires (Dev)
- nunomaduro/collision: ^8.6.1||^7.10.0
- orchestra/testbench: ^10.0.0||^9.11.0||^8.22.0
- pestphp/pest: ^3.7.4
- pestphp/pest-plugin-laravel: ^3.1
- dev-main
- 3.1
- 3.0.0
- 2.1.0
- 2.0.0
- 1.0.0
- 0.0.3
- 0.0.2
- 0.0.1
- dev-dependabot/github_actions/stefanzweifel/git-auto-commit-action-7
- dev-dependabot/github_actions/actions/checkout-5
- dev-dependabot/github_actions/stefanzweifel/git-auto-commit-action-6
- dev-dependabot/github_actions/dependabot/fetch-metadata-2.4.0
- dev-add_cache
- dev-update_base
- dev-upgrade_to_laravel_9
This package is auto-updated.
Last update: 2025-10-13 19:09:19 UTC
README
A Laravel package that provides a simple API to retrieve and query student timetable information from Asia Pacific University (APU).
๐ Features
- Retrieve all available intake codes
- Get groupings for a specific intake
- Query timetable schedules by intake and grouping
- Access official APU holidays
๐ Installation
You can install the package via Composer:
composer require chengkangzai/laravel-apu-schedule
๐ Usage
Get all intake codes
use Chengkangzai\ApuSchedule\ApuSchedule; $intakes = ApuSchedule::getIntakes(); // Returns: UC3F2111SE, AFCF2011AS ...
Get all groupings for a specific intake code
use Chengkangzai\ApuSchedule\ApuSchedule; $groupings = ApuSchedule::getGroupings("UC3F2111SE"); // Returns: G1, G2, G3 ...
Get schedule for a specific intake and grouping
use Chengkangzai\ApuSchedule\ApuSchedule; $schedule = ApuSchedule::getSchedule("UC3F2111SE", "G1");
Example schedule output
[
{
"INTAKE": "...",
"MODID": "...",
"MODULE_NAME": "...",
"DAY": "...",
"LOCATION": "...",
"ROOM": "...",
"LECTID": "...",
"NAME": "...",
"SAMACCOUNTNAME": "...",
"DATESTAMP": "...",
"DATESTAMP_ISO": "...",
"TIME_FROM": "...",
"TIME_TO": "...",
"TIME_FROM_ISO": "...",
"TIME_TO_ISO": "...",
"GROUPING": "...",
"CLASS_CODE": "...",
"COLOR": "..."
},
{}
]
Get all official APU holidays
use Chengkangzai\ApuSchedule\ApuHoliday; $allHolidays = ApuHoliday::getAll(); // Returns a collection of holidays
Get official APU holidays for a specific year
use Chengkangzai\ApuSchedule\ApuHoliday; $holidaysFor2023 = ApuHoliday::getByYear(2023); // Returns holidays for 2023
Example holiday object structure
[
"holiday_description" => "New Year's Day",
"holiday_end_date" => "Sat, 01 Jan 2022 00:00:00 GMT",
"holiday_name" => "New Year's Day",
"holiday_people_affected" => "all",
"holiday_start_date" => "Sat, 01 Jan 2022 00:00:00 GMT",
"id" => 336,
]
๐งช Testing
composer test
๐ Changelog
Please see the CHANGELOG file for details on what has changed recently.
๐ค Contributing
Contributions are welcome! Please see the CONTRIBUTING guide for details.
๐ Security Vulnerabilities
If you discover a security vulnerability, please review our security policy for instructions on how to report it.
โจ Credits
๐ License
This package is open-sourced software licensed under the MIT License.