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

Crm Bundle Laravel Package

libre-informatique/crm-bundle

Symfony CRM bundle from Libre Informatique that adds ready-made customer relationship entities—contacts, organisations and linked address books—on top of the Blast core bundle. Doctrine-backed, extensible and easy to integrate into existing Symfony apps.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Verdict: not a Laravel integration candidate. Leverage it as a domain reference and a prototyping accelerator, or as an isolated Symfony service — not as a dependency inside a Laravel application.

The package is a Symfony bundle, not a Laravel package. There is no service provider, no extra.laravel block, and no Laravel-facing facade. From a TPM perspective, the decision is not "install or don't" — it is "what is the minimum we can extract from this to reduce our own build."

Architecture fit

Dimension Assessment
Framework contract Symfony Bundle lifecycle (Bundle subclass, DI extension, config tree, compiler passes). Laravel has no equivalent hook; the bundle cannot be auto-discovered or booted.
Persistence Doctrine ORM entities and repositories. Laravel's Eloquent does not consume Doctrine mappings; running both doubles connection, transaction, and migration surface.
Presentation Symfony Forms and Twig, likely Sonata Admin. Not renderable in Blade/Inertia without a rewrite.
Coupling Member of a Libre Informatique bundle family (blast-*, semantic-*). Entities likely reference sibling bundles by class name; pulling one bundle alone risks an unresolvable dependency graph.
Signal 3 stars, 0 dependents. No external production usage to validate the API or stability claims.

Integration feasibility

  • Composer install alone is insufficient; it requires Symfony's DI, HttpKernel, Form, Validator, DoctrineBundle, and transitive sibling bundles. The realistic in-process version means booting a Symfony kernel inside a Laravel request — two containers, two config systems, two logging and caching layers. This is an anti-pattern.
  • The honest integration shape is process separation: the CRM runs as its own Symfony service, exposing REST/GraphQL or a queue contract. That converts a library dependency into a distributed-system dependency — heavier to operate, but an accurate boundary.
  • The highest-return use of TPM time here is reference mining: extract the CRM domain model (party/contact/organization relationships, address and communication-channel modeling, pipeline/stage vocabularies) and reimplement in Eloquent. Budget days, not weeks.

Technical risk

  • License: NOASSERTION. This is the hard blocker and the first gate. GitHub could not classify the license file. Shipping unclear-provenance code commercially requires legal review that may return "no." Treat as unresolved until a human reads LICENSE and per-file headers.
  • Maintenance: 3 stars / 0 dependents implies abandoned or single-consumer. Symfony's annual major cadence will outrun it; expect PHP and Symfony ceilings that later block our own upgrades.
  • Lock-in cost: any bridge we write is bespoke, undocumented glue with maximum bus factor and minimum product value.
  • Silent patching obligation: no issue triage, no security advisories, no CVE feed. We inherit ownership by default.
  • Sunk-cost risk: integration effort may exceed the cost of writing the entities ourselves, which for a conventional contact/opportunity schema is measured in days.

Key questions to resolve before any commitment

  1. What does LICENSE actually say, and is it acceptable for commercial redistribution?
  2. Which Symfony and PHP versions are pinned, and when was the last commit?
  3. Which sibling Libre Informatique bundles are hard requirements, and do they resolve cleanly today?
  4. Is the data model genuinely differentiated, or a conventional schema we would write in a week?
  5. Is there a maintained alternative — Laravel-native CRM packages or a headless CRM SaaS — that clears license and support bars?
  6. If any Symfony surface is approved, who owns that competence and what is the exit plan?

Integration Approach

Stack fit: poor. Same language, different framework. PHP is a shared baseline; container, config, ORM, templating, routing, validation, and admin UI all diverge. Score it 2/10 on deployability. The 3.35 opportunity signal reflects adjacency of the CRM domain to real needs, not deployability of the package.

Migration path options, ranked

Option Effort Risk Recommendation
A. Vendor into Laravel and boot a Symfony kernel in-process High High Do not. Dual-container, dual-ORM, unpredictable failure modes in requests and queues.
B. Standalone Symfony service, integrate over HTTP/queue Med-High Medium Only if the domain model is confirmed as differentiating. Adds a deployable, a contract, and an on-call surface.
C. Harvest schema/domain model, rebuild on Eloquent + Filament/Nova Low-Med Low Preferred. Captures the only durable value with zero framework debt.
D. Fork and convert the bundle to Laravel Very High High Only with a permanent maintainer plus legal clearance. This is a rewrite, not a port.

Compatibility and sequencing (Option C, recommended)

  1. Legal gate first. Read LICENSE and file headers. No engineering time is spent before this clears; ambiguity stops the work.
  2. Domain extraction sprint (1–2 days). Read entities and repositories only. Produce an ER summary: aggregates, invariants, cardinalities, enum vocabularies (stages, statuses, channel types).
  3. Schema translation. Map to Laravel migrations. Decide explicitly on soft deletes, polymorphic address/contact associations, and audit columns — the Symfony original's choices are inputs, not mandates.
  4. API-first implementation. Eloquent models, form requests, policies, JSON resources. Keep CRM behind a Crm domain module so a future SaaS or package swap is a namespace-level change.
  5. Admin surface. Filament or Nova for CRUD; do not hand-roll forms.
  6. Contract tests. Write feature tests against the behaviors extracted in step 2, validating the reimplementation against observed semantics rather than assumed ones.

If Option B is forced by an existing-records requirement, sequence it: deploy standalone service → define OpenAPI or message contract → Laravel adapter with circuit breaker and idempotency keys → read-only cutover → write path last.

Migration hygiene

  • Do not import the Doctrine schema verbatim. Bundles of this vintage often use annotation mapping with implicit conventions (naming strategies, join tables) that produce surprising DDL.
  • Establish a data-ownership rule on day one: one system writes CRM records; the other reads or requests changes.

Operational Impact

Maintenance

  • Under Option C, maintenance is our normal Laravel footprint — a net reduction versus carrying a bridge.
  • Under A/B/D we inherit a second framework's upgrade treadmill: PHP minors, Symfony majors every two years, Doctrine ORM majors, Sonata Admin majors if its UI ships. With zero upstream dependents, we are the de facto maintainer of any fork with no one to share that cost.

Support

  • No vendor, no SLA, no security feed. Vulnerabilities in the bundle or its siblings are discovered by us.
  • Onboarding demands Symfony literacy most Laravel teams do not have and should not acquire for one legacy component.
  • Record an ADR documenting why the package was rejected or bounded, so the question does not resurface each quarter. This is the single cheapest TPM artifact here.

Scaling

  • The bundle is not the scaling constraint; the bridge is. Options A and B add either a network hop or an in-process kernel boot to latency-sensitive paths, plus a second connection pool.
  • Under Option B, cache CRM reads and queue writes. Cross-system consistency becomes eventual, which product must accept explicitly — deduplication and "current owner" semantics are where eventual consistency bites.
  • Under Option C, scaling is standard Laravel: horizontal app tier, managed database, cache and queue as usual.

Failure modes

Failure Likelihood Impact Mitigation
License turns out non-permissive after work starts Medium High Gate all effort behind legal review; no exceptions.
Dual-ORM / dual-container instability in production High (Option A) High Reject Option A outright.
Abandoned upstream blocks a PHP/Symfony upgrade High (A/B/D) Medium Only viable if we own the fork permanently.
Bus factor of one bridge author High (A/B/D) High Prefer Option C; otherwise mandate pair ownership and docs.
Scope creep: "reuse the bundle" becomes "rebuild the ecosystem" Medium High Time-box extraction to 2 days with a written deliverable.

Ramp-up

  • Option C requires no new framework skills — a Laravel engineer is productive on day one using the extracted ER summary as spec.
  • Options A/B/D require Symfony competence (bundle config, DI, Doctrine, possibly Sonata) plus distributed-systems discipline for the contract boundary. Realistic ramp-up is weeks, and the knowledge is not reusable elsewhere in the product.
  • Recommended TPM actions: run the legal gate, time-box a 1–2 day extraction spike with a written ER summary as the artifact, then decide build-vs-reuse on that evidence rather than on the package's star count or opportunity score.
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.
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk