digram/bukua-access

Access Bukua Edtech API services for your Laravel application

v1.0.7 2025-07-16 10:35 UTC

This package is auto-updated.

Last update: 2025-07-16 10:37:30 UTC


README

A Laravel package for integrating with Bukua Edtech API services, providing easy access to schools data.

Features

  • Authentication with Bukua API using client credentials
  • Simple methods to fetch paginated schools data

Prerequisites

Bukua Developer Account:

Configuration

  1. Add the following to your .env file:
BUKUA_ACCESS_CLIENT_ID=your-client-id
BUKUA_ACCESS_CLIENT_SECRET=your-client-secret
BUKUA_BASE_URL="https://bukua-core.apptempest.com/"

Installation

  1. In your terminal, run
composer require digram/bukua-access
  1. Clear your configuration cache by running
php artisan cache:clear

Usage

Counties

Get a paginated list of counties:

use BukuaAccess\Facades\BukuaAccess;

try {
    $counties = BukuaAccess::counties(page: 1, per_page: 100);
    dd($counties);
} catch (\Exception $e) {
    // Handle error
}

Subjects

Get a paginated list of subjects:

use BukuaAccess\Facades\BukuaAccess;

try {
    $subjects = BukuaAccess::subjects(page: 1, per_page: 100);
    dd($subjects);
} catch (\Exception $e) {
    // Handle error
}

Schools

Get a paginated list of schools:

use BukuaAccess\Facades\BukuaAccess;

try {
    $schools = BukuaAccess::schools(page: 1, per_page: 100);
    dd($schools);
} catch (\Exception $e) {
    // Handle error
}

Schools with Subjects

Get a paginated list of schools with subjects taught:

use BukuaAccess\Facades\BukuaAccess;

try {
    $schoolsWithSubjects = BukuaAccess::schoolsWithSubjects(page: 1, per_page: 100);
    dd($schoolsWithSubjects);
} catch (\Exception $e) {
    // Handle error
}

Schools with Subject Combinations

Get a paginated list of schools with subjects combinations:

use BukuaAccess\Facades\BukuaAccess;

try {
    $schoolsWithSubjectCombinations = BukuaAccess::schoolsWithSubjectCombinations(page: 1, per_page: 100);
    dd($schoolsWithSubjectCombinations);
} catch (\Exception $e) {
    // Handle error
}

Schools with Profiles

Get a paginated list of schools with profiles such as mission statement, fee structure, logo etc:

use BukuaAccess\Facades\BukuaAccess;

try {
    $schoolsWithProfiles = BukuaAccess::schoolsWithProfiles(page: 1, per_page: 100);
    dd($schoolsWithProfiles);
} catch (\Exception $e) {
    // Handle error
}

Schools with Departments

Get a paginated list of schools with departments:

use BukuaAccess\Facades\BukuaAccess;

try {
    $schoolsWithDepartments = BukuaAccess::schoolsWithDepartments(page: 1, per_page: 100);
    dd($schoolsWithDepartments);
} catch (\Exception $e) {
    // Handle error
}