hubertusanton / silverstripe-leaderboard
A gamification module for SilverStripe CMS that adds scoring, levels, and badges for CMS users
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:silverstripe-vendormodule
Requires
- php: ^7.4 || ^8.0
- silverstripe/cms: ^4.0 || ^5.0
- silverstripe/framework: ^4.0 || ^5.0
This package is auto-updated.
Last update: 2025-09-24 14:59:50 UTC
README
This module is created on the Stripecon 2025 HackDay by acronica team
A gamification module for SilverStripe CMS that adds scoring, levels, and badges for CMS users. Transform content creation into an engaging experience!
Features
🎯 Scoring System
- Page Creation: 10 points
- Page Edit: 3 points
- Page Publication: 5 points
- Page Deletion: 2 points
🎮 Level System
Users progress through funny levels based on their total score:
- 🥺 CMS Newbie (0+ points)
- 🤓 Page Padawan (50+ points)
- 🪄 Content Conjurer (150+ points)
- ✨ Edit Enthusiast (300+ points)
- 🚀 Publishing Pro (500+ points)
- 👑 CMS Champion (750+ points)
- 🌟 Digital Deity (1000+ points)
- 🧙♂️ Website Wizard (1500+ points)
- 👹 Content Overlord (2000+ points)
- ⚡ The Chosen One (3000+ points)
🏅 Badge System
Extensible badge system with fun achievements:
- First Steps 👶 - Create your first page
- Page Creator 📄 - Create 10 pages
- Content Machine 🏭 - Create 50 pages
- Editor in Chief 📝 - Make 25 edits
- Rapid Fire 🔥 - 5+ actions within an hour
- The Destroyer 💀 - Create then immediately delete
- Streak Master 🔥 - Work 7 consecutive days
- Night Owl 🦉 - Work between 10pm-6am
- Early Bird 🐦 - Work between 5am-8am
- Perfectionist 💎 - Make 10+ edits
- Century Club 💯 - Reach 100 points
- High Achiever 🎯 - Reach 500 points
📊 Leaderboard Interface
- View top performers with rankings
- Display user levels, scores, and badges
- Show activity streaks
- Overall statistics dashboard
👤 Member Profile Integration
- Leaderboard stats added to member profiles in CMS
- View individual user progress and achievements
Installation
composer require hubertusanton/silverstripe-leaderboard
Setup
- Run database migration:
vendor/bin/sake dev/build flush=1
- Populate default badges:
vendor/bin/sake dev/tasks/populate-leaderboard-badges
- Access the leaderboard in the CMS admin menu (🏆 Leaderboard)
Usage
The module automatically tracks user activity and awards points/badges. Users can view:
- Their progress in their member profile (Leaderboard tab)
- The global leaderboard in the admin interface
- Badge collection and achievements
Extending
Custom Badges
Create custom badges by adding records to the Badge model or extend the badge checking logic in LeaderboardService::meetsRequirements()
.
Custom Scoring
Modify point values in LeaderboardService::SCORES
constant or extend the service to add new activities.
Requirements
- PHP 7.4+ or 8.0+
- SilverStripe Framework ^4.0 or ^5.0
- SilverStripe CMS ^4.0 or ^5.0