1.0.19 • Published 3 years ago

gamification-boksy-lib v1.0.19

Weekly downloads
2
License
ISC
Repository
-
Last release
3 years ago

gamification-boksy

Promise based gamification client for the browser and react native

Features

Gamification client is simple library to minimize the complexity on front-end side

Usage

let gamification = require("gamification-boksy-lib");

Initialization

let user = "boksy"; // userId
let BASE_URL = "http://example.com/api/Stage"; // userId

gamification.init(user,BASE_URL)

Sending Event

Events are predefined into constant so you can easily reuse them

gamification.sendEvent(gamification.EVENTS.INFO).then(res => {
    console.log("res",res);
})



// or using await

let res = await gamification.sendEvent(gamification.EVENTS.INFO);

Sending Session

Events are predefined into constant so you can easily reuse them

readingSession {
  timeSpend : seconds,
  progress : %,
  bookId : string,
  userId : string
}
gamification.sendEbookSession(readingSession).then(res => {
    console.log("res",res);
})

gamification.sendAudioBookSession(readingSession).then(res => {
    console.log("res",res);
})

gamification.sendEbookFinished({userId,coins,bookId}).then(res => {
    console.log("res",res);
})



// or using await

let res = await gamification.sendEvent(gamification.EVENTS.INFO);

Sample Response

  data: {
    userId: 'boksy',
    level: '4',
    points: 500,
    achievements: [],
    avatars: [],
    trophies: [],
    coins: 100
  }

Basic events

    TEST
    INFO // this is getting user info
    READ_EBOOK
    START_READING
    CHANGED_AVATAR
    EBOOK_5_MIN: 
    EBOOK_COMPLETE
    AUDIOBOOK_5_MIN
    AUDIOBOOK_COMPLETE
    KNOWLEDGE_QUIZ_COMPLETE
    FACTS_QUIZ_COMPLETE

Handling Errors

This is promise based library so you can handle error like simple promise

gamification.sendEvent(gamification.EVENTS.INFO).then(res => {
    console.log("res",res);
}).catch(err => throw err);

Usage as singleton

If you don't have multiple users at the same time and you don't want to do

init every time, you can crete gamificationSingleton.js file with this content

let gamification = require("gamification-boksy-lib");

let user = "boksy"; // your user id

gamification.init(user)

module.exports = gamification;

And then when you want to use it

let gamification= require("./gamificationSingleton");


gamification.sendEvent(gamification.EVENTS.INFO).then(res => {
    console.log("res",res);
    
})

Promises

If your environment doesn't support ES6 Promises, you can polyfill.

License

ICS

1.0.19

3 years ago

1.0.18

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago