All Projects → NicolasSiver → nodebb-plugin-ns-awards

NicolasSiver / nodebb-plugin-ns-awards

Licence: MIT license
A system for rewarding forum users. The plugin allows admin to define set of awards that could be granted to users for special accomplishments.

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
SCSS
7915 projects
Smarty
1635 projects

Projects that are alternatives of or similar to nodebb-plugin-ns-awards

nitter scraper
Scrape Twitter API without authentication using Nitter.
Stars: ✭ 31 (+6.9%)
Mutual labels:  profile
wc4bp
WooCommerce BuddyPress Integration
Stars: ✭ 18 (-37.93%)
Mutual labels:  profile
DanielObara
This is a special repository. Its README.md will appear on my public profile like a overview.
Stars: ✭ 12 (-58.62%)
Mutual labels:  profile
self
🦉 Cryptgraphic peer authentication.
Stars: ✭ 42 (+44.83%)
Mutual labels:  profile
DrakeAxelrod
Profile Page github repository
Stars: ✭ 30 (+3.45%)
Mutual labels:  profile
my github profile views counter
Fetch profile view counts from GitHub API, keep historical data and produce charts
Stars: ✭ 20 (-31.03%)
Mutual labels:  profile
SudhanPlayz
About me for GitHub <3
Stars: ✭ 24 (-17.24%)
Mutual labels:  profile
Whizzz-The-ChatApp
Whizzz is a real-time, one-to-one Android chat application made using Firebase, a beautiful user interface, and a push-notification feature.
Stars: ✭ 66 (+127.59%)
Mutual labels:  profile
DenverCoder1
Jonah Lawrence's Profile README
Stars: ✭ 320 (+1003.45%)
Mutual labels:  profile
user profile
User profile UI designed in flutter
Stars: ✭ 14 (-51.72%)
Mutual labels:  profile
steam-box
🎮 Update profile README / pinned gist to contain your Steam playtime leaderboard. 在你的 profile README / pinned gist 上显示你的 steam 游玩时间排行榜。
Stars: ✭ 118 (+306.9%)
Mutual labels:  profile
geek-profile
👻 Geek Profile Maker based on Markdown
Stars: ✭ 85 (+193.1%)
Mutual labels:  profile
profiletool
Home to the QGis Profiletool plugin. Initial work on this fork was partially funded by the C.A. La Rioja
Stars: ✭ 23 (-20.69%)
Mutual labels:  profile
github-pinner
📌 Pin and embed github repositories or profiles on your own website easily
Stars: ✭ 62 (+113.79%)
Mutual labels:  profile
ouuan
A profile README with 86 stars and 152 forks 🌟
Stars: ✭ 86 (+196.55%)
Mutual labels:  profile
proxifier-rules
Rules for proxifiers programs: Proxifier
Stars: ✭ 51 (+75.86%)
Mutual labels:  profile
OpenMCAuthenticator
A simple Java API for Minecraft authentication
Stars: ✭ 23 (-20.69%)
Mutual labels:  profile
now-playing-profile
Originally created by github.com/natemoo-re, a small Spotify widget suitable for your profile! Read the "spotify-setup-guide.md" to get started
Stars: ✭ 32 (+10.34%)
Mutual labels:  profile
Cool-Readme-ideas
🎉🎉🎉 Some cool ideas for your readme profile, enjoy :)
Stars: ✭ 72 (+148.28%)
Mutual labels:  profile
repo-card
📜 Give your repos some freshness with a Repo Card
Stars: ✭ 36 (+24.14%)
Mutual labels:  profile

NodeBB Awards

A system for rewarding forum users. The plugin allows admin to define set of awards that could be granted to users for special accomplishments.

Version Dependencies

How does it work?

Plugin introduces a new entity for your board: Award. It could be anything: ribbon, medal, special rank, etc.

  1. Visit Awards control panel in Admin Control Panel
  2. Create several awards, don't forget images.
  3. Reward users.
  4. If you want to list users' awards, you can augment Account or Post page templates.

Screenshots

Awards Overview Create New Award
Admin Panel View Create Award View
Give an Award User's Rewards Overview
Create Award View User's Rewards
Rewards Logs Settings
Logging Settings

Themes

Profile template

Use flex template - awards_profile_flex.tpl for Persona v4. Place it wherever you like.

<!-- IMPORT partials/awards_profile_flex.tpl -->

Topic template

Use topic partial to show awards for every post. Award's metadata is the same as for Profile template.

Example Persona Theme, edit node_modules/nodebb-theme-persona/templates/partials/topic/post.tpl:

<!-- IMPORT partials/awards_topic.tpl -->

Filters

The plugin injects rewards to the several places. It could be useful for theme enthusiasts. It's possible to configure a limit or disable a feature in the settings.

  • Posts. Every post will have a new property nsRewards with a list of rewards.
  • Account. Every account will have a new property nsRewards with a list of rewards.

Styling

Overview Page

The overview page is based on Flexbox with simple CSS class name set. Also, all layout is based on em values.

Key CSS Classes:

  • ns-awards-overview__item, container for the list item
  • ns-awards-overview__image, since award image is responsive, it's possible to adjust a width of image container
  • ns-awards-overview__users, list of the awarded users

Profile View

Account/Profile page can include awards.

Key CSS Classes:

  • ns-awards-profile, container, uses Flexbox
  • ns-awards-profile__image, image representation of the award

Topic View

Every post in the topic view can include awards.

Key CSS Classes:

  • ns-awards-topic, container, uses Flexbox
  • ns-awards-topic__item, holder for the award
  • ns-awards-topic__image, image representation of the award

API

The plugin provides external API via hooks. All API methods accept single object as a parameter. Every API request should be authenticated with a token. Tokens could be generated in the ACP.

Example of the request to get all available awards:

{
    auth: {
        token: '50bfa42d-31e2-434e-9634-505b973ee40e'
    }
}

filter:ns.awards.getAwards

Get all available awards.

Parameters:

  • {Object} payload
  • {Object} payload.auth - Authentication
  • {String} payload.auth.token - Authentication String

Returns:

  • {Object} result
  • {Array} result.awards, returns the list of Award objects

static:ns.awards.rewardUser

Give an award to the user. It's important to specify who will grant the award.

Parameters:

  • {Object} payload
  • {Number} awardId - Award Id
  • {Number} fromUserId - User Id who is giving the award
  • {Number} toUserId - User Id who is receiving the award
  • {String} reason - The message to explain why award was given
  • {Object} payload.auth - Authentication
  • {String} payload.auth.token - Authentication String
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].