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
pkg:composer/hubertusanton/silverstripe-leaderboard
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-10-24 15:14:15 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