juleica-php / laravel
Laravel-Bridge (Service Provider, Facade, Config-Publishing) für juleica-php/client.
Requires
- php: ^8.1
- illuminate/contracts: ^11.0 || ^12.0 || ^13.0
- illuminate/support: ^11.0 || ^12.0 || ^13.0
- juleica-php/client: ^2.0
Requires (Dev)
- orchestra/testbench: ^9.0 || ^10.0 || ^11.0
- phpunit/phpunit: ^10.0 || ^11.0
README
Die Laravel-Bridge für juleica-php/client, den framework-agnostischen PHP-Client für die Juleica-API zur Prüfung der Gültigkeit einer Jugendleiter/in-Card (Juleica). Dieses Package bietet nur die Basis-Integration: Service Provider, Facade, Config-Publishing und Auto-Discovery — bewusst minimal, ohne Response-Caching, Validation Rules oder Artisan-Commands.
Hinweis: Dieses Package ist kein offizielles Angebot von juleica.de oder den dahinterstehenden Trägerorganisationen. Es bindet lediglich die öffentlich dokumentierte Juleica-API an und wird unabhängig davon gepflegt.
Die Juleica (Jugendleiter/in-Card) ist ein bundesweit einheitlicher Ausweis für ehrenamtliche Jugendleiter*innen in Deutschland. Sie dient als Qualifikationsnachweis und zur Legitimation gegenüber Erziehungsberechtigten, Behörden und anderen Stellen, verbunden mit diversen Vergünstigungen für ehrenamtlich Engagierte.
Da API-Endpunkt und -Dokumentation von juleica.de betrieben und gepflegt werden (nicht von diesem Package), können sie sich unabhängig von diesem Package ändern. Für aktuelle, offizielle Informationen:
- Entwicklerseite: https://juleica.de/entwickler
- API-Dokumentation: https://documenter.gw.postman.com/api/collections/18297363/UVC6h67q
Installation
composer require juleica-php/laravel
Dank Laravel Package Auto-Discovery werden Service Provider und Facade automatisch registriert — ein manueller Eintrag in config/app.php ist nicht nötig.
Konfiguration
Statt einer eigenen Config-Datei nutzt dieses Package die in Laravel-Projekten ohnehin vorhandene config/services.php. Dort einfach folgenden Block ergänzen:
'juleica' => [ 'token' => env('JULEICA_TOKEN'), // 'base_uri' => env('JULEICA_BASE_URI', 'https://app.juleica.de'), ],
base_uri ist optional und muss nur gesetzt werden, wenn du gegen einen anderen Host testen möchtest — Standard ist https://app.juleica.de.
.env-Eintrag
JULEICA_TOKEN=dein-token
Das Bearer-Token stellt dir das Juleica-Team aus (Kontakt: siehe Juleica Website).
Verwendung
Via Facade
use JuleicaPhp\Laravel\Facades\Juleica; $result = Juleica::checkCard(cardNumber: '1234567890'); if ($result->isValid()) { echo 'Gültig bis: ' . $result->validTill->format('d.m.Y'); }
Via Dependency Injection
Alternativ lässt sich JuleicaClient direkt injecten, z. B. in einem Controller:
use JuleicaPhp\Juleica\JuleicaClient; final class CardController { public function __construct(private readonly JuleicaClient $juleica) { } public function check(string $cardNumber) { $result = $this->juleica->checkCard(cardNumber: $cardNumber); // ... } }
Alle weiteren Details zu checkCard() (optionale Parameter, Rückgabewert, Exceptions) findest du im README des Core-Packages.
Tests
composer install
composer test
Lizenz
MIT. Siehe LICENSE.md.
Dies ist ein inoffizielles Community-Package und steht in keiner Verbindung zum Juleica-Team oder Trägerorganisationen.