v2

Integration Package Readiness

Purpose

This wiki records the infrastructure packages already added to the Loreax repo so future domain implementation work can integrate them consistently.

Installed Packages

  • spatie/laravel-medialibrary
  • pbmedia/laravel-ffmpeg
  • bervant/laravel-sms
  • bervant/kashier-laravel-sdk

Current Status

All four packages are installed through Composer and available through Laravel package discovery.

At the repo level this means:

  • no additional Composer installation work is required
  • domain implementations can start wrapping these packages behind Loreax contracts
  • package-specific config publishing remains optional until a domain actually needs overrides

Intended Usage By Domain

Content

  • spatie/laravel-medialibrary for media attachment lifecycle
  • pbmedia/laravel-ffmpeg for queued video/audio processing

Payments

  • bervant/kashier-laravel-sdk for the first Laravel-side payment gateway integration
  • Loreax remains MPESA-first at the product level, but the Laravel integration direction now goes through Kashier wrapped by IPaymentProvider

Notifications / MFA

  • bervant/laravel-sms for SMS delivery abstraction
  • Preferred env naming should now use the package's SMS_*, TWILIO_*, BONGA_*, and ENVISAGE_* variables

Environment Variable Direction

Media

  • FFMPEG_BINARY_PATH
  • FFPROBE_BINARY_PATH

Kashier

  • KASHIER_ENABLED
  • KASHIER_URL
  • KASHIER_MERCHANT_KEY
  • KASHIER_MERCHANT_SECRET
  • KASHIER_SERVICE_ID
  • KASHIER_PAYBILL_NO
  • KASHIER_PAYBILL_ACCOUNT

SMS

  • SMS_DRIVER
  • SMS_API_USERNAME
  • SMS_API_KEY
  • SMS_SHORTCODE
  • TWILIO_*
  • BONGA_*
  • ENVISAGE_*

Notes

  • spatie/laravel-medialibrary and pbmedia/laravel-ffmpeg are already documented in the media readiness wiki.
  • bervant/kashier-laravel-sdk ships publishable config and default routes under /api/kashier.
  • bervant/laravel-sms ships publishable config and supports multiple providers behind one API, so Loreax docs should no longer imply a hardcoded SMS SDK choice at the Laravel package layer.