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

Referential Bundle Laravel Package

mpp/referential-bundle

mpp/referential-bundle is a Symfony bundle for managing referentials: structured reference data like categories, statuses, and code lists. It provides reusable entities, forms, and admin tooling to keep application dictionaries consistent and easy to maintain.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The package name (-bundle) and vendor namespace (mon-petit-placement) make clear this is a Symfony bundle, not a Laravel package. That is the single most important finding: despite the Laravel framing in the brief, nothing here is designed for Laravel's container, Eloquent, or service provider model. Symfony bundles assume the Symfony kernel, DependencyInjection compilation, YAML/XML service definitions, and — for a referential domain — almost certainly Doctrine ORM. From a TPM perspective, the correct framing is: this is a reference implementation of a reference-data domain model, not a dependency to adopt. The product decision it informs is the build-vs-borrow-vs-buy call on your lookup-table strategy (enums vs. config vs. DB-backed referential with an admin surface), and on the Laravel side the answer to that call is well-served by native primitives (backed enums, config-driven lists, a lookup table plus Filament/Nova).

Integration feasibility. As a Laravel dependency: not feasible without a port. As a design input: feasible and cheap. The domain — authoritative code lists, categories, controlled vocabularies — is genuinely cross-cutting and reusable, and a peer fintech having modeled it is a useful signal. But the observable health metrics are uniformly poor: 0 stars, 0 dependents, score 0. There is no evidence of external consumption, no ecosystem, no third-party validation, and no indication the maintainers treat this as a public artifact. Practically, feasibility reduces to two questions a TPM can actually answer: can you obtain, license-check, and pin the code; and is the design worth a few engineering hours to harvest.

Technical risk.

  • Framework risk (high): Doctrine entities and Symfony service tags do not translate to Eloquent and Laravel's container without meaningful rework. Bridging Symfony components into Laravel for a bundle of this shape is rarely justified.
  • Ownership risk (high): zero dependents means zero external bug reports and zero external pressure to keep the API stable. Any upstream change lands on you silently.
  • Abandonment risk (high): a 0-star bundle with no release cadence is a coin flip on whether it ever receives a security patch.
  • Domain-fit risk (moderate): internal extractions commonly carry baked-in assumptions — French-language reference data, FR-specific validation, locale defaults, DB collation — that are fine in-house and wrong downstream.
  • Compliance risk (moderate to high): fintech-adjacent referentials usually imply audit requirements (who changed which value, when, why). Bundles of this size almost never ship versioning or change history, and retrofitting audit onto a foreign data model is expensive.

Key questions to resolve before committing.

  1. Is there a license file, and is the license compatible with internal-only or redistributed use?
  2. What is the actual dependency surface? symfony/framework-bundle only, or Doctrine, API Platform, Messenger, security?
  3. Are there tagged releases, or only a main branch? Is there a CHANGELOG? What was the last commit date?
  4. How is referential data seeded — fixtures, migrations, import command? Who owns freshness (currency codes, country lists, category taxonomies all rot)?
  5. Does the model carry audit/versioning, i18n labels, or approval workflows, or would we build those ourselves?
  6. Is the repo archived or actively receiving commits in the last 12 months?

Integration Approach

Stack fit — decide first, because everything downstream changes.

  • Laravel shop (the stated context): do not install. Treat the repository as a design reference and harvest the entity model, validation rules, and seed data. Reimplement against Eloquent behind your own interface. Budget 1–2 weeks for a faithful port of a nontrivial referential model, more if you replicate admin CRUD or import pipelines.
  • Symfony shop: composer require, register in config/bundles.php, import service config, run migrations. Half a day to a day for a spike — still gated on the provenance audit below.

Leverage path (what a TPM actually does with this). Frame the deliverable as a decision memo plus harvested design, not a shipping dependency. The value is:

  • A concrete data model for lookup tables (aggregate shape, code vs. ID keys, label/i18n handling) that de-risks your own internal module.
  • A validated pattern for "non-engineers edit the country list / fee schedule / category taxonomy without a deploy" — the backlog item this bundle enables.
  • A forcing function on the audit-trail question, which is cheap to design in now and expensive to bolt on later.

Migration path. There is no prior-consumer migration to perform. The realistic options are: (a) fork-and-own — vendor the code, strip Symfony wiring, internalize maintenance, and document the fork point (commit SHA) so you can diff upstream; (b) design-harvest — read it, write your own, own nothing external. For a Laravel team, (b) is the default recommendation.

Compatibility. Verify PHP and Symfony version constraints explicitly — internal bundles often pin conservatively (e.g., ^5.4) and lag the current LTS. Confirm whether the data model assumes a specific DB engine or collation. Pin to a commit SHA, never a branch.

Sequencing.

  1. Provenance audit (half a day, one engineer): license, last commit, tags, CI status, dependency tree via a throwaway composer show --tree.
  2. Read-and-extract (1–2 days): entity model, DI extension, config root key, fixtures/commands, tests. Output: a short internal writeup of the data model and conventions.
  3. Decision gate: adopt-as-dependency (Symfony only), fork-and-own, or harvest-and-reimplement. Default for Laravel: harvest.
  4. Design your own behind an anti-corruption layer: domain code depends on your referential interface, not the bundle's classes, so you retain optionality.
  5. Only then scope the internal module — with a named owner, changelog, and audit logging.

Operational Impact

Maintenance. Assume you own it if you take any code. Zero dependents and zero external contributors means upstream maintenance is a courtesy, not a contract. If forked, plan a named owner and a quarterly check for upstream security advisories and PHP/Symfony bumps; budget roughly 5–10% of one engineer's time. If harvested, the maintenance burden is just your own module — which is the point.

Support. No community, no Stack Overflow corpus, no issue history to mine. Support means reading the source. That is acceptable for a small, stable domain model and unacceptable for anything touching auth, payments, PII, or eligibility logic. Do not put this anywhere near money or compliance decisions without an owned fork and a test suite.

Scaling. Referential data is low-write, high-read, and small — scaling is not the concern. The two things to confirm during the spike: whether reads are cached (if not, and you call it per-request in a hot path, you add the cache layer yourself), and whether findAll-style APIs produce N+1s, which is common in internal CRUD bundles. For a Laravel reimplementation, both are trivial to design in from the start.

Failure modes to plan for.

  • Silent upstream break: an untagged commit changes an entity property, your fork diverges, a later merge introduces data-shape drift. Mitigate by pinning to a SHA and treating upstream as read-only inspiration.
  • Stale referential data: the bundle gives structure, not a freshness guarantee. Country lists, currency codes, and taxonomies rot. Assign an owner for periodic refresh; this is often the largest ongoing cost and is easy to underestimate.
  • Hidden coupling: bundles that register global services or event subscribers can alter application behavior outside their namespace. Audit the DI extension during the spike.
  • Locale/domain assumptions: French-language reference data and FR-specific validation baked into a "generic" referential is a classic extraction artifact. Confirm before you build UX on top of it.
  • Decision debt: deferring the enum-vs-table question means ops files tickets to add a value every quarter. This package is a cheap prompt to close that decision now.

Ramp-up. For a Symfony team, low — an afternoon of source reading plus the spike. For a Laravel team, the bundle itself is not the cost; translating Symfony idioms (attributes, Doctrine mappings, service tags) is, and that effort scales with how much you actually need. If you need only the data model and validation rules — which is the likely case — harvest those and skip the port entirely. Net TPM recommendation: spend a few engineering days, produce a design memo and an internal spec, and do not add mpp/referential-bundle to composer.json.

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