Skip to content

This package provide simple API to get all and query the student's timetable information from Asia Pacific University(APU).

License

Notifications You must be signed in to change notification settings

chengkangzai/laravel-apu-schedule

Repository files navigation

Laravel APU Schedule

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Package Banner

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.

About

This package provide simple API to get all and query the student's timetable information from Asia Pacific University(APU).

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages