moffhub/ussd
Enterprise-grade Laravel USSD framework for building scalable menus and flows across African providers (Safaricom/Africa’s Talking, Airtel, MTN, generic). Includes menu/forms/wizards, session recovery, security, analytics, caching, and pluggable data providers.
MenuNameInterface) enhances maintainability and IDE support, reducing runtime errors in large applications.Route::post('/ussd', [UssdController::class, 'handle'])) aligns with Laravel’s routing conventions, requiring no custom middleware or complex configurations.ProviderFactory mitigates this, but custom providers might require debugging for edge cases (e.g., session ID handling).PaginatedMenu) could strain the USSD gateway if not optimized. The package’s caching layer helps, but TPMs must validate performance under peak loads (e.g., 10K+ concurrent sessions).Provider Support:
UserAnswer vs. Safaricom’s text)?Scalability:
Security:
Maintenance:
SimpleMenu in favor of MenuBuilder)?Monitoring:
STK Push vs. MTN’s USSD Gateway), enabling a single codebase for multiple operators.MenuBuilder fluent interface for rapid prototyping.ProviderFactory.SimpleMenu to ConditionalMenu/WizardMenu for complex flows.pdo, mbstring).AbstractUssdProvider interface.FormMenu handlers.ApiDataProvider to bridge USSD with legacy databases or SOAP services.php artisan vendor:publish).SimpleMenu for linear flows, then introduce FormMenu/WizardMenu for complex interactions..env or config files.config_cache to reduce runtime overhead.MenuBuilder for dynamic menu generation (e.g., admin UI to edit menus).UssdFramework::handle()).sessionId validation).menu:balance, data:products).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Provider API outage | USSD service unavailable | Implement fallback provider; notify users via SMS. |
| Database |
How can I help you explore Laravel packages today?