genj/faq-admin-bundle
Symfony bundle that adds a ready-made admin interface for managing FAQ entries, with CRUD, category organization, ordering, and publish controls so you can maintain help content without building custom backend screens.
Architecture fit — poor, and mismatched at the framework level. Despite the "Laravel/PHP package" framing, genj/faq-admin-bundle is a Symfony bundle, not a Laravel package. The naming (...Bundle, GenjFaqAdminBundle), the Symfony bundle registration model, and the presence of Doctrine ORM entities rather than Eloquent models all point to a Symfony 2.x/3.x-era component. It has no Illuminate\Support\ServiceProvider, no Laravel package auto-discovery entry, and no config/ or routes/ conventions Laravel expects. The only portable asset is the domain concept — an FAQ entity with question, answer, ordering, and publication state — not the code.
Integration feasibility — effectively zero as a dependency. To use it in Laravel you would need to: port Doctrine entities to Eloquent models and migrations; rewrite Symfony controllers/forms into Laravel controllers, FormRequests, and validation; replace Twig templates with Blade (or a Filament/Nova resource); and replace Symfony's admin layer entirely. That is a rewrite with the original as a reference, not an integration. With 0 stars and 0 dependents, there is no community fork, adapter, or known-good path to borrow.
Technical risk — high and unrecoverable. Last release 2017-06-10, repository archived, no maintainer. The code predates PHP 7.2 deprecations and almost certainly targets PHP 5.6/7.0 with Symfony 2.8/3.x and Doctrine 2.4-era constraints. Running it on PHP 8.1+ under Laravel 10/11/12 will produce hard failures (removed functions, signature changes, dynamic property deprecations) or, worse, silent form/deserialization behavior changes in the admin surface. An abandoned admin bundle is a standing attack surface: unpatched form handling, file upload, and rich-text paths are exactly where admin packages accumulate CVEs, and there will be no advisory and no patch. MIT licensing is the one unambiguous positive — legally we can fork, technically we should not.
Key questions for the requester:
Recommendation: reject as a runtime dependency; retain only as a design reference.
Stack fit — none for Laravel; marginal even for modern Symfony. There is no version of this bundle that runs cleanly on a current Laravel stack without a full port, and its Symfony/Doctrine pins would also fail on Symfony 5/6/7. Treat "integration" as reimplementation, not installation.
Migration path — reference, not require. Extract the schema intent and rebuild:
faqs table — id, question, answer (text/longText), category_id (nullable FK), position (int, for manual ordering), is_published (bool), published_at, timestamps; optional faq_categories.published(), ordered()) and a Category relation.spatie/laravel-translatable, full-text search via Scout if the corpus grows.Compatibility. composer require genj/faq-admin-bundle will either fail resolution against modern symfony/* and doctrine/*, or force-pin ancient transitive versions that conflict with illuminate/* and the rest of the application. Do not attempt to satisfy those constraints — the blast radius exceeds the feature.
Sequencing. Requirements confirmation → schema design → Eloquent models + migrations → admin CRUD/reordering → public rendering + SEO markup → tests → optional i18n/search. Gate the work at the requirements step: if the only ask is "a FAQ page," this is a half-day build and the evaluation closes there.
Maintenance — total ownership. Archived upstream means every future PHP major upgrade, security patch, and bug fix is ours. Forking converts a zero-cost dependency into a permanent, low-glamour maintenance line item that no one will volunteer for. Native reimplementation produces code the team already understands and can delete cleanly.
Support — none. No issue triage, no maintainer response, no security advisories, no release cadence. Documentation dates to 2017. With 0 stars there are also no tutorials, Stack Overflow answers, or blog posts — the source is the only documentation, and it is unannotated legacy code.
Scaling — a non-issue, which is the point. FAQ content management is low-write, read-heavy, and small in cardinality. Rendered FAQ output caches well; database load is negligible at any realistic scale. The scaling risk here is not throughput — it is the administrative surface being exposed and unpatched.
Failure modes to anticipate:
Ramp-up — worse than building fresh. An engineer must read unmaintained Symfony 2/3 code, mentally map it to Laravel idioms, and then discard most of it. Onboarding cost exceeds the cost of writing the equivalent Eloquent model, migration, and Filament resource. Budget 1–3 developer-days for the native build, versus an unbounded porting estimate with no support path.
How can I help you explore Laravel packages today?