Level Up Gamification Package cho Laravel
Level Up package là một Laravel package
giới thiệu tính năng gamification vào ứng dụng của bạn. Người dùng có thể kiếm điểm kinh nghiệm (XP) và leo cấp thông qua ứng dụng của bạn. Nó cũng bao gồm tính năng bảng xếp hạng động.
Gói này bao gồm ba khái niệm tạo nên hệ thống gamification:
- Điểm kinh nghiệm (XP)
- Cấp độ (Levels)
- Thành tựu (Achievements)
Khi bạn nhập gói GiveExperience vào mô hình người dùng của mình:
use LevelUp\Experience\Concerns\GiveExperience;
class User extends Model
{
use GiveExperience;
// ...
}
Thuộc tính mô hình này mở khóa nhiều phương thức để làm việc với API gamification:
$user->addPoints(10);
$user->deductPoints(10);
$user->setPoints(10);
$user->getPoints();
Bạn có thể tạo các cấp độ cho ứng dụng của bạn bằng API sau:
Level::add(
['level' => 1, 'next_level_experience' => null],
['level' => 2, 'next_level_experience' => 100],
['level' => 3, 'next_level_experience' => 250],
);
Và cuối cùng, đây là cách bạn tạo thành tựu:
Achievement::create([
'name' => 'Hit Level 20',
'is_secret' => false,
'description' => 'When a User hits Level 20',
'image' => 'storage/app/achievements/level-20.png',
]);
// Unlock an achievement
$achievement = Achievement::find(1);
$user->grantAchievement($achievement);
// Set achievement progress
$user->grantAchievement(
achievement: $achievement,
progress: 50 // 50%
);
Bạn cũng có thể định nghĩa các thành tựu bí mật ẩn khỏi người dùng cho đến khi chúng được mở khóa. Gói này cũng hỗ trợ việc kiểm tra, theo dõi khi người dùng kiếm điểm, leo cấp, v.v.
Bạn có thể tìm hiểu thêm về gói này, nhận hướng dẫn cài đặt đầy đủ và xem mã nguồn trên GitHub.