digram / bukua-access
Access Bukua Edtech API services for your Laravel application
v1.0.7
2025-07-16 10:35 UTC
Requires
- php: ^5.6||^7.0||^8.0
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:
- Create a Core Access Client in the Bukua Developer Dashboard.
- Obtain your:
client_id
client_secret
Configuration
- 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
- In your terminal, run
composer require digram/bukua-access
- 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 }