qcod/laravel-gamify
Quickly add reputation points and badges to your Laravel app. Create point classes, award them to users, and unlock badges with an easy-to-use trait and migrations.
PointType and BadgeType classes, and wire givePoint()/undoPoint() into existing domain events. That materially changes the cost side of the build-vs-buy calculation versus commercial engagement/rewards platforms.getPoints()) and an append-only reputations ledger with subject/payee relations, which is useful for support, audits, and retroactive recalculations. The PM should decide early whether the ledger or the total is the source of truth for displayed reputation.getPoints(), and qualifiers. That makes it practical to A/B different point weights or run limited gamification cohorts without schema changes.cache:forget gamify.badges.all after changes, which is an operational footgun; the package adds a points column to users, requiring doctrine/dbal for the migration.Gamify/HasReputation traits on the payee model, and subclassable PointType/BadgeType base classes generated via Artisan. Points are recorded in a reputations table with subject/payee morph relations and mirrored to a total on the user; badge qualification runs on reputation change. Constraints: single-maintainer project, no dependents, cache invalidation required after badge changes, duplicates allowed by default, and no leaderboard or admin UI. Exit cost is low — plain Eloquent models and a trait — but expect to write and own the product surfaces on top."How can I help you explore Laravel packages today?