Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Currency Exchange Bundle Laravel Package

ongr/currency-exchange-bundle

Symfony bundle for currency exchange rates and conversion, offering configurable rate providers, storage, and service-based APIs to fetch and apply exchange rates in PHP applications. Integrates with ONGR/Elasticsearch for managing currency data.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Architecture fit: Poor as a direct Laravel dependency. ongr/currency-exchange-bundle is a Symfony bundle, not a Laravel package. Its bundle registration, DI configuration, and likely ONGR/Elasticsearch assumptions do not map to Laravel’s service container, config model, or queue/cache conventions. v2.0.6 does not change this: the release is a bundle-level bugfix, not a packaging or framework-compatibility change. Reuse is only credible if the underlying currency services are decoupled from Symfony bundle wiring.
  • Integration feasibility: Low to moderate, unchanged. Composer installation may succeed, but Laravel will not bootstrap the bundle. A TPM should plan for a time-boxed extraction spike, adapter layer, or fork rather than expecting drop-in installation. v2.0.6 is a single hotfix ("saving currencies with past date"), which confirms the project is not entirely dormant but still shows minimal activity: 3 stars, 0 dependents, and no evidence of Laravel consumers or integration documentation.
  • Technical risk: High. The package remains low-velocity and effectively community-unmaintained; v2.0.6 signals occasional patching rather than active stewardship, so the team should assume ownership of PHP/Symfony upgrades, dependency patches, and security remediation. The hotfix content is itself a risk signal: backdated currency persistence was broken, which is precisely the historical-rate/audit path an FX integration tends to depend on. Expect brittle date and timezone handling around rate storage. Coupling to ONGR Elasticsearch infrastructure would still add operational weight for what may be a simple FX-rate requirement. MIT licensing permits a fork, but ownership and maintenance become internal costs.
  • Key questions: Which PHP and Symfony versions are supported, and is v2.0.6 compatible with the branch we would extract from? Does it require ONGR ElasticsearchBundle or other heavy infrastructure? Which rate providers/APIs does it call? How are rates cached, stored, and refreshed? Does the v2.0.6 date-handling fix fully resolve backdated/backfilled rate persistence, and what timezone and date-boundary semantics does storage assume? What is the test coverage around that fix (regression test present or not)? Can domain classes be used without Symfony bundle bootstrapping? Is the business need rate ingestion, conversion, historical audit, or all three? Who will own a fork if adopted?

Integration Approach

  • Stack fit: Treat this as a Symfony component candidate, not a Laravel package. v2.0.6 does not alter the fit. If the domain logic can be isolated, wrap it behind a Laravel-native CurrencyExchangeService interface. If extraction is costly, implement a native Laravel client against ECB, Fixer, OpenExchangeRates, or another reputable provider with Redis/DB caching and rate-history storage.
  • Migration path: Run an isolated spike: install the v2.0.6 tag (not dev-master) in a scratch Symfony or standalone PHP context, audit dependencies, and attempt to instantiate core services without bundle bootstrapping. If successful, adapt those services into Laravel. If blocked, fork and strip bundle-specific code or abandon reuse. Keep the FX abstraction independent so the vendor can be replaced.
  • Compatibility: Verify PHP version compatibility with the target Laravel runtime, Symfony component conflicts, PSR compliance, Elasticsearch client requirements, and config-cache behavior. Laravel 10/11 compatibility is unlikely out of the box. Confirm whether the package expects deprecated Symfony APIs or global container access, and diff v2.0.6 against the prior tag to see which Symfony/PHP versions the hotfix was validated against.
  • Sequencing: 1) Define requirements: currency pairs, refresh frequency, accuracy tolerance, historical audit, backfill of past-dated rates, and fallback behavior. 2) Complete dependency and security audit on the v2.0.6 tag. 3) Prove service extraction in a branch, including a backdated-rate write test to confirm the #70 fix holds. 4) Build a Laravel adapter plus contract tests. 5) Add cache, scheduler, provider fallback, and observability. 6) Make an adopt/fork/replace decision at a gate. Default recommendation unchanged: native Laravel integration unless extraction is demonstrably cheaper.

Operational Impact

  • Maintenance: High if adopted. v2.0.6 shows a maintainer is still applying hotfixes, which slightly reduces the "dead dependency" risk but does not provide a support commitment, roadmap, or release cadence. The team must still own PHP/Symfony upgrades, dependency patches, provider API changes, and security remediation. Low stars and zero dependents mean little community validation or shared fixes.
  • Support: No meaningful vendor or community support. Troubleshooting depends on internal code reading and Symfony/ONGR expertise. The #70 hotfix arrived without a visible regression-test or changelog narrative beyond one line, so expect to investigate behavior directly in code. A TPM should budget for ownership before approving use.
  • Scaling: FX rate fetching scales mainly through caching and scheduled refresh, not through the bundle itself. If the package pulls in Elasticsearch, it adds infrastructure and operational overhead compared with Laravel cache/database patterns. Rate history should be stored explicitly for audit and reconciliation, with the past-date write path from v2.0.6 covered by tests.
  • Failure modes: Stale or missing rates, provider outage or rate limiting, incorrect conversion due to stale cache, dependency conflicts, container/bootstrap failures, and silent data quality issues. The v2.0.6 fix highlights a specific class of failure: backdated or backfilled rates failing to persist or persisting with wrong effective dates, which corrupts historical audit and reconciliation. Mitigations include fallback providers, last-known-good rates, alerting, audit logs, explicit timezone/date-boundary conventions, and contract tests around conversion math and backdated writes.
  • Ramp-up: High for a Laravel team because Symfony bundle and ONGR conventions are outside the normal stack. Even a successful extraction carries onboarding and documentation cost. From a TPM perspective, this is not a strategic dependency; a single hotfix does not change that. Use it only as a reference or short-lived spike, and prefer a native Laravel integration with a supported FX provider.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource