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

Filament Smart Cep Laravel Package

otavio-araujo/filament-smart-cep

Filament Smart CEP brings automatic Brazilian postal-code (CEP) lookup to Filament forms, retrieving address data and filling fields as users type. It simplifies form setup and speeds up address entry with smart CEP autocomplete.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Package: otavio-araujo/filament-smart-cep — a Filament (Laravel admin panel) plugin that provides Brazilian CEP (postal code) lookup and address auto-fill for form fields.

What the 4.0.1 release actually contains: three Dependabot merges touching only GitHub Actions workflow pins — stefanzweifel/git-auto-commit-action 5→6, dependabot/fetch-metadata 1.6.0→2.4.0, and actions/checkout 4→5. There are no changes to PHP source, composer.json constraints, config files, migrations, or public APIs. From a runtime and integration standpoint this is a no-op release; the risk of adopting 4.0.1 over 4.0.0 is effectively zero. The only observable effect is on the maintainer's CI pipeline (action runtime versions and Node 20/24 deprecation surface), which does not propagate to consumers. Note the checkout@5 and git-auto-commit-action@6 bumps are themselves GitHub-side deprecation-driven; if we fork or vendor this package, our own CI would need the same updates.

Architecture fit: Low-coupling, additive fit. It is a UI-layer convenience plugin — a Filament form component/field that calls an HTTP-backed CEP resolver and hydrates sibling address fields (logradouro, bairro, cidade, uf). It does not own persistence, so it should slot into an existing Laravel app without schema changes. The architectural question is not "does it fit" but "where does the CEP resolver live" — if the plugin hard-codes a single upstream provider (ViaCEP or BrasilAPI), it becomes a hard external dependency embedded in the admin form layer rather than a swappable service behind an interface.

Integration feasibility: Straightforward for a Filament-based admin. Requires: PHP/Laravel versions matching our platform, a Filament major that matches the plugin's major (the 4.x line almost certainly tracks a specific Filament major — this must be confirmed, not assumed), and outbound HTTPS to the CEP provider. The package appears actively maintained (Dependabot configured, automated action bumps merged), but it is a single-maintainer project with a small footprint — bus factor of one.

Technical risk:

  • Upstream postal API dependency (highest risk). Form submissions can be blocked or degraded by third-party latency/outages. Needs client-side timeout, graceful degradation (manual address entry always available), and retry/fallback logic.
  • Version-line ambiguity. We have no composer.json, README, or prior assessment in hand. Filament major alignment, PHP constraint, and whether 4.0.0 introduced breaking changes are all unverified. Treat as unknown until verified.
  • Data protection / LGPD. CEP lookups send user-entered postal codes to an external service; confirm no PII beyond the CEP is transmitted and document it in the privacy register.
  • Brazilian address semantics. CEP granularity is street-level and, for large CEPs ("CEP único" for whole municipalities), returns no street — the UX must handle partial fills without erroring.
  • License and supply chain. License type, security disclosure policy, and dependency tree depth are unverified.

Key questions for the maintainer/vendor:

  1. Which Filament major and PHP versions does 4.0.1 support? What broke in 4.0.0?
  2. Is the CEP provider configurable (ViaCEP vs. BrasilAPI vs. custom resolver binding), and is there a caching layer and timeout config?
  3. Does the field degrade cleanly when the provider is unreachable or the CEP is unknown?
  4. What is the license, test coverage, and security reporting process? Is there any funded maintenance?

Integration Approach

Stack fit: Assumes Laravel + Filament admin stack. The plugin is a view/form-layer concern — it should not require new database tables or queue workers unless it ships optional CEP caching. Integration surface is small: install, publish config (if any), register the plugin on the Filament panel, swap the relevant form field component on the address form(s).

Migration path: Because 4.0.1 carries no functional delta, any migration work is defined entirely by the 4.0.0 baseline, which we have not reviewed. Recommended path: pin to an exact version in composer.json, install in a branch, and diff the actual package source (composer.json, README, src/) before committing — the release notes alone are insufficient evidence for adoption. If we are already on a Filament version the plugin supports, the change is confined to one or two form schemas.

Compatibility: Two axes — (a) Filament major, (b) PHP/Laravel minor. Both unverified. Also verify interaction with existing address-field customizations or any masked-input plugin on the CEP field, since these commonly conflict at the Filament component level.

Sequencing:

  1. Vendor due diligence: read source, license, composer.json constraints, open issues, last commit cadence.
  2. Spike in a throwaway branch against a non-production panel; confirm Filament alignment and that a real CEP populates all five address fields, including a CEP único and an invalid CEP.
  3. Decide on provider strategy — accept default or bind a custom resolver — and add caching plus timeout configuration.
  4. Ship behind a feature flag to internal users first, then roll out to the address forms with the highest manual-entry volume (typically customer/onboarding forms) where the payoff is largest.
  5. Defer any dependency on the plugin's JS/asset pipeline until verified against our build.

Operational Impact

Maintenance: Very low code churn — this release is CI-only, and the package's blast radius is a single form component. The real maintenance burden is tracking the Filament major upgrade cycle: a plugin pinned to Filament N becomes a blocker when the platform moves to N+1, and a single-maintainer package may lag. Budget for a fork-or-replace contingency.

Support: No commercial support; reliance on GitHub issues from a solo maintainer. Internal ownership must be assigned — realistically half a day per quarter for version review plus a named engineer on point for breakage. Escalation path: vendor the package into the monorepo if upstream goes quiet.

Scaling: Negligible application-tier cost (one HTTP call per CEP field blur). The scaling constraint is the third-party provider's rate limits and availability, not our infrastructure. If admin usage grows or we expose this on a public storefront form, add a server-side cache keyed by CEP (CEPs are highly repetitive) and consider a self-hosted or contracted lookup to remove the free-tier dependency. Do not call the provider on every keystroke — debounce and fire on blur/valid-length only.

Failure modes:

  • Provider down or slow → form feels broken; mitigate with short timeouts (2–3s), non-blocking UX, and manual entry always permitted.
  • Provider returns partial/empty data for CEP único or new CEPs → silent empty fields; surface as "address not found, please complete manually."
  • Response shape change upstream → silent field mis-mapping; add a smoke test asserting field mapping for a known CEP.
  • Filament upgrade breaks the component → admin address forms revert to manual entry (acceptable, non-data-losing).
  • Rate-limit / IP block → degradation, not corruption.

Ramp-up: Minimal for a Laravel developer — the plugin is declarative and the docs surface is a handful of config options. Estimated half a day to productive use, plus one day for the due-diligence spike and caching/timeout hardening. Frontend/UX review needed for the loading and not-found states. No DBA or infrastructure involvement unless we choose to self-host a CEP database.

Release verdict for 4.0.1: Adopt-as-patch with no migration plan and no regression testing beyond a standard smoke pass — it changes nothing we consume. Do not treat it as an evaluation of the package overall; the substantive assessment still hinges on the unreviewed 4.0.0 baseline.

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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
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