A Laravel package for integrating with Bukua Edtech API services, providing easy access to schools data.
- Authentication with Bukua API using client credentials
- Simple methods to fetch paginated schools data
Bukua Developer Account:
- Create a Core Access Client in the Bukua Developer Dashboard.
- Obtain your:
client_id
client_secret
- 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/"
- In your terminal, run
composer require digram/bukua-access
- Clear your configuration cache by running
php artisan cache:clear
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
}
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
}
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
}
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
}
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
}
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
}
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
}