Weave Code
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

Laravel User Preferences Laravel Package

robtrehy/laravel-user-preferences

Store and retrieve authenticated users’ preferences in Laravel, saved as JSON in a single DB column (default: users.preferences). Includes config publishing, migration to add the column, and optional caching via Laravel’s cache drivers with customizable keys.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

The package provides a simple JSON-based user preference storage solution within the Laravel ecosystem, with built-in caching. Architecture fit is moderate: storing preferences in a single JSON column (by default in the users table) is acceptable for small-to-medium apps but may cause performance issues at scale due to monolithic data storage. Integration feasibility is high for new projects but problematic for existing systems with custom user schemas—migrations are required, and column conflicts are possible. Technical risks are significant: only 3 GitHub stars and 0 dependents indicate low community adoption, and the "Last release: 2025-11-10" timestamp is implausible (future-dated), suggesting potential metadata errors or abandoned maintenance. Key questions include: Why does the release date show a future year? How is cache invalidation handled in distributed environments? What are the performance characteristics for 10k+ concurrent users? Are there unpatched security vulnerabilities given the sparse security history?

Integration Approach

Stack fit is strong for monolithic Laravel applications but weak for microservices or multi-tenant architectures where preferences might need isolation. Migration path requires adding a JSON column to the configured table (default: users.preferences), which is straightforward for new projects but may necessitate data migration for existing preference systems. Compatibility is good for Laravel 8–12, but the package drops support for older versions (e.g., Laravel 7) and has no documented testing for PHP 8.2+. Sequencing should prioritize: (1) validating existing user schema conflicts, (2) configuring cache to use Redis/Memcached (not file), (3) running migrations, and (4) incrementally replacing manual preference logic with the package’s setForUser/getForUser methods to avoid breaking changes.

Operational Impact

Maintenance burden is high due to minimal community adoption (0 dependents) and unclear maintainer activity—future-dated releases and sparse issue resolution history suggest potential abandonment. Support is limited to GitHub issues with no SLA, increasing risk for critical bugs. Scaling is constrained: JSON column storage in the users table can degrade read/write performance as user counts grow, and file-based caching (default) fails in multi-server environments. Failure modes include cache inconsistency during high concurrency, JSON decoding errors (

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.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport