PHPackages                             huseyinfiliz/leaderboard - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. huseyinfiliz/leaderboard

ActiveFlarum-extension[Utility &amp; Helpers](/categories/utility)

huseyinfiliz/leaderboard
========================

A points-based leaderboard extension for Flarum with configurable point sources, period filtering, and podium display.

1.0.0(3mo ago)01.3k↓51.6%MITPHPPHP ^8.1CI passing

Since Mar 2Pushed 3mo agoCompare

[ Source](https://github.com/huseyinfiliz/leaderboard)[ Packagist](https://packagist.org/packages/huseyinfiliz/leaderboard)[ RSS](/packages/huseyinfiliz-leaderboard/feed)WikiDiscussions 2.x Synced 3w ago

READMEChangelog (2)Dependencies (9)Versions (5)Used By (0)

[![Leaderboard](https://camo.githubusercontent.com/daffa01152813364108fc361a9d46724d653553faac49cd1238dd3518478e241/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434303635352d3533313336302d6c6561646572626f6172642e706e67)](https://camo.githubusercontent.com/daffa01152813364108fc361a9d46724d653553faac49cd1238dd3518478e241/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434303635352d3533313336302d6c6561646572626f6172642e706e67)

[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE.md) [![Latest Stable Version](https://camo.githubusercontent.com/d1b2da84d1077512d9cd824faf1e01b259fc548e07133b5a9b460838f8c158e7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6875736579696e66696c697a2f6c6561646572626f6172642e737667)](https://packagist.org/packages/huseyinfiliz/leaderboard) [![Total Downloads](https://camo.githubusercontent.com/f3dd6fe9c081aa6b505fdee11968189f3f838601c75f3fa5a03ca623cff4b4c4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6875736579696e66696c697a2f6c6561646572626f6172642e737667)](https://packagist.org/packages/huseyinfiliz/leaderboard)

Leaderboard
===========

[](#leaderboard)

A points-based leaderboard extension for [Flarum](https://flarum.org) forums. Award points for community activity, display rankings with a beautiful podium, and motivate engagement through configurable point sources and time-based filters.

### 🏆 Podium &amp; Rankings

[](#-podium--rankings)

[![Podium Demo](https://camo.githubusercontent.com/aa41d1e161c4eacad65ffd1407f3224fe706de991ecf246fafd4ac17eedbd0ff/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434303830312d3937343837372d696d6167652e706e67)](https://camo.githubusercontent.com/aa41d1e161c4eacad65ffd1407f3224fe706de991ecf246fafd4ac17eedbd0ff/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434303830312d3937343837372d696d6167652e706e67)

### 📊 Top Contenders &amp; Honorable Mentions

[](#-top-contenders--honorable-mentions)

[![Contenders Demo](https://camo.githubusercontent.com/aa41d1e161c4eacad65ffd1407f3224fe706de991ecf246fafd4ac17eedbd0ff/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434303830312d3937343837372d696d6167652e706e67)](https://camo.githubusercontent.com/aa41d1e161c4eacad65ffd1407f3224fe706de991ecf246fafd4ac17eedbd0ff/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434303830312d3937343837372d696d6167652e706e67)

### ⚙️ Admin General Settings

[](#️-admin-general-settings)

[![Admin Demo](https://camo.githubusercontent.com/7e2a01bac79833e6afc7b555b8950c908e8f8cbd0c095f218320e8d41eccd414/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434303932392d31353433372d696d6167652e706e67)](https://camo.githubusercontent.com/7e2a01bac79833e6afc7b555b8950c908e8f8cbd0c095f218320e8d41eccd414/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434303932392d31353433372d696d6167652e706e67)

### ⚙️ Admin Points Settings

[](#️-admin-points-settings)

[![Admin Demo](https://camo.githubusercontent.com/8e6b649a18459b6a28706ac63f3fa78763f81d132b780695764f73aeadadf915/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434303839372d3437313734392d696d6167652e706e67)](https://camo.githubusercontent.com/8e6b649a18459b6a28706ac63f3fa78763f81d132b780695764f73aeadadf915/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434303839372d3437313734392d696d6167652e706e67)

### ⚙️ Admin Exclusions Settings

[](#️-admin-exclusions-settings)

[![Admin Demo](https://camo.githubusercontent.com/2a597798cb5707eca67e2ae2b713cefbfac1475c7647c7551bdc50cd7038bb6b/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434313030302d3536393439332d696d6167652e706e67)](https://camo.githubusercontent.com/2a597798cb5707eca67e2ae2b713cefbfac1475c7647c7551bdc50cd7038bb6b/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434313030302d3536393439332d696d6167652e706e67)

### ⚙️ Admin Maintenance Settings

[](#️-admin-maintenance-settings)

[![Admin Demo](https://camo.githubusercontent.com/91f37631bd1f18597fb5b944ba0806c191134bee215f3dfa3e7340eb7adf3bf9/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434313038372d393937322d696d6167652e706e67)](https://camo.githubusercontent.com/91f37631bd1f18597fb5b944ba0806c191134bee215f3dfa3e7340eb7adf3bf9/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434313038372d393937322d696d6167652e706e67)

### ⚙️ Admin Recalculate Modal

[](#️-admin-recalculate-modal)

[![Admin Demo](https://camo.githubusercontent.com/8f2afa562f461b8dbf3271d0b87aed5db5fcbc2384a68e1b175b665a1b6cdf2d/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434313037342d3938393931382d696d6167652e706e67)](https://camo.githubusercontent.com/8f2afa562f461b8dbf3271d0b87aed5db5fcbc2384a68e1b175b665a1b6cdf2d/68747470733a2f2f63646e2e646973637573732e666c6172756d2e6f72672f323032362d30332d30322f313737323434313037342d3938393931382d696d6167652e706e67)

Features
--------

[](#features)

- 🏆 **Podium Display**: Top 3 users shown in a gold/silver/bronze podium with avatars and stats
- 🔥 **Top Contenders**: Ranks #4-#10 displayed in a responsive card grid
- 📋 **Honorable Mentions**: Compact two-column list for remaining users with infinite scroll
- ⏰ **Period Filters**: Daily, weekly, monthly, quarterly, yearly, and all-time rankings
- ⭐ **Configurable Points**: Set point values for each activity type independently
- 🎯 **11 Point Sources**: Discussions, posts, daily login, likes (given/received), reactions (given/received), best answers, badges, and votes
- 🏷️ **Tag Exclusions**: Exclude discussions with specific tags from earning points
- 👥 **Group Exclusions**: Hide users in selected groups from the leaderboard
- 🔄 **Maintenance Tools**: Full recalculation and lightweight sync for point adjustments
- 🦴 **Skeleton Loading**: Smooth loading experience with animated placeholders
- 📱 **Responsive Design**: Optimized layout for mobile, tablet, and desktop
- 🃏 **User Card Integration**: Show leaderboard points on user cards throughout the forum

Installation
------------

[](#installation)

```
composer require huseyinfiliz/leaderboard:"*"
```

You can also install with Extension Manager: `huseyinfiliz/leaderboard`

Updating
--------

[](#updating)

```
composer update huseyinfiliz/leaderboard
php flarum migrate
php flarum cache:clear
```

To remove simply run `composer remove huseyinfiliz/leaderboard`.

Quick Start
-----------

[](#quick-start)

### For Users

[](#for-users)

1. Navigate to the **Leaderboard** page from the sidebar
2. Use **period pills** to filter rankings (Daily, Weekly, Monthly, etc.)
3. Click on any user card to visit their profile
4. Your points are visible on your user card across the forum

### For Admins

[](#for-admins)

Navigate to **Admin → Leaderboard** to configure the extension. The admin panel is organized into four tabs:

#### General Tab

[](#general-tab)

- **Leaderboard Name**: Customize the page title displayed in the sidebar and header
- **Points Label**: Set the label shown next to point values (e.g., "Points", "XP", "Karma")

#### Points Tab

[](#points-tab)

Configure point values for each activity type. Points are organized into collapsible sections:

SectionActivitiesDefault**Core**Discussion started, Post created, Daily login1 each**Likes**Like received, Like given1, 0**Reactions**Reaction received, Reaction given1, 0**Best Answer**Best answer selected2**Badges**Badge earned3**Gamification**Upvote received, Downvote received1, -1> **Tip**: Set a point value to `0` to disable that source. Negative values (e.g., downvotes) deduct points.

#### Exclusions Tab

[](#exclusions-tab)

- **Excluded Groups**: Select user groups to hide from the leaderboard (e.g., Admins, Bots)
- **Excluded Tags**: Select tags whose discussions won't earn points (requires `flarum/tags`)

#### Maintenance Tab

[](#maintenance-tab)

ActionDescription**Recalculate All Activity**Full rescan of all source data. Re-creates point records from scratch. Use after changing tag exclusions or if data seems out of sync.**Sync Points**Lightweight recalculation of totals using current point values. Use after changing point values.> **Note**: Do not close the page during a full recalculation — the operation will fail if interrupted.

Optional Integrations
---------------------

[](#optional-integrations)

The leaderboard automatically integrates with these extensions when they are enabled:

ExtensionPoint Sources[`flarum/likes`](https://github.com/flarum/likes)Like received, Like given[`flarum/tags`](https://github.com/flarum/tags)Tag-based exclusions[`fof/reactions`](https://github.com/FriendsOfFlarum/reactions)Reaction received, Reaction given[`fof/best-answer`](https://github.com/FriendsOfFlarum/best-answer)Best answer selected[`fof/badges`](https://github.com/FriendsOfFlarum/badges)Badge earned[`fof/gamification`](https://github.com/FriendsOfFlarum/gamification)Upvote received, Downvote received[`flarum/approval`](https://github.com/flarum/approval)Content restored event supportNo configuration is needed — install the extension and points will be awarded automatically based on your point settings.

🔧 Advanced Details
------------------

[](#-advanced-details)

#### Point Lifecycle

[](#point-lifecycle)

Points are awarded and revoked automatically based on user activity:

```
Action performed → Points awarded → Totals updated
Action undone    → Points revoked → Totals updated

```

EventAwardsRevokesNew discussion`discussion_started`On hide/deleteNew reply`post_created`On hide/deleteUser login`daily_login` (once per day)—Like/unlike`like_received` + `like_given`On unlike or post hide/deleteReact/unreact`reaction_received` + `reaction_given`On unreact or post hide/deleteBest answer set/unset`best_answer`On unsetBadge earned`badge_earned`—Upvote/downvote`upvote_received` / `downvote_received`On vote change#### Data Integrity

[](#data-integrity)

- **Atomic operations**: Point revocations use database transactions with row locking
- **Cascade handling**: Discussion deletion properly revokes all post-level points (likes, reactions, votes)
- **Content moderation**: Hidden posts/discussions have their points revoked; restored content re-awards points
- **Idempotent awards**: Duplicate point records are prevented with existence checks
- **Daily login protection**: Database fallback prevents double-awarding after cache clear

#### Period Filtering

[](#period-filtering)

Rankings are filtered by the `created_at` timestamp of each point record:

PeriodRangeDailyLast 24 hoursWeeklyLast 7 daysMonthlyLast 30 daysQuarterlyLast 90 daysYearlyLast 365 daysAll TimeNo filter🌍 Translations
--------------

[](#-translations)

This extension comes with English translations. Community translations are welcome!

Translate: [Leaderboard at Weblate](https://weblate.rob006.net/projects/flarum/huseyinfiliz-leaderboard/)

💖 Support &amp; Contributing
----------------------------

[](#-support--contributing)

If you find this extension useful, consider:

- ⭐ Starring the repository on GitHub
- 🌐 Contributing translations

Links
-----

[](#links)

- [Discuss](https://discuss.flarum.org/d/38834-leaderboard-points-based-ranking-system)
- [Packagist](https://packagist.org/packages/huseyinfiliz/leaderboard)
- [GitHub](https://github.com/huseyinfiliz/leaderboard)
- [Issues](https://github.com/huseyinfiliz/leaderboard/issues)

License
-------

[](#license)

MIT License - see [LICENSE.md](LICENSE.md)

---

Developed with ❤️ by [Hüseyin Filiz](https://github.com/huseyinfiliz)

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance79

Regular maintenance activity

Popularity20

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

4

Last Release

107d ago

Major Versions

1.x-dev → 2.0.0-beta.12026-03-11

PHP version history (2 changes)1.0.0PHP ^8.1

2.0.0-beta.1PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/09c355d62c7dcfc040309947946c06155947883a72b6b0c7a354c7d93453fad1?d=identicon)[huseyinfiliz](/maintainers/huseyinfiliz)

---

Top Contributors

[![huseyinfiliz](https://avatars.githubusercontent.com/u/37220000?v=4)](https://github.com/huseyinfiliz "huseyinfiliz (14 commits)")

---

Tags

flarumGamificationrankingpointsleaderboard

### Embed Badge

![Health badge](/badges/huseyinfiliz-leaderboard/health.svg)

```
[![Health](https://phpackages.com/badges/huseyinfiliz-leaderboard/health.svg)](https://phpackages.com/packages/huseyinfiliz-leaderboard)
```

###  Alternatives

[fof/gamification

Upvotes and downvotes for your Flarum community

4062.0k7](/packages/fof-gamification)[qcod/laravel-gamify

Add gamification in laravel app with reputation point and badges support

679363.5k1](/packages/qcod-laravel-gamify)[flarum-lang/russian

Russian language pack for Flarum.

12127.5k](/packages/flarum-lang-russian)[fof/byobu

Well integrated, advanced private discussions.

59112.4k11](/packages/fof-byobu)[fof/polls

 A Flarum extension that adds polls to your discussions

25130.2k9](/packages/fof-polls)[fof/user-bio

Add a user bio to user profiles

20102.0k9](/packages/fof-user-bio)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
