PubNub Integration

Vote Counter

Data Streaming & Dashboards

Data Streaming & Dashboards

Alerts & Notifications

Alerts & Notifications

Last Updated:

2016/08/01

Author:

Ian Jennings

This blocks counts votes and restricts each IP address to one valid vote.

Vote counter block lets people cast their vote in an online poll. One IP address is allowed only one vote.

Multiple votes from same IP address are rejected. Block publishes live results on result channel.

Walkthrough

Vote Counter Blocks lets users participate in an online poll by sending their votes as message on the voting channel. It restricts one IP address to a single vote. Multiple votes from same IP address, Votes for invalid options are rejected.

Voting data is saved in key value store and live results are published on voting channel upon receiving a valid vote.

Vote Counter Block can be enhanced by adding additional spam protection. Restrictions can be based on other factors as well apart from IP address.

Multiple polls can run at the same time. Each message published on voting channel also needs to mention the poll id along with vote option chosen. Each poll id has a separate result channel.

Input

A vote is published on voting channel in form of a JSON message containing poll identifier and vote option. Input Channel: voting-channel

{ 
    "poll_id": "poll-1" ,
    "vote": "e"
}

Output

Voting Results are published to result channel. Result channel is  + '-result' . Result contains valid notes for each option.

{
    a: 0,
    b: 0,
    c: 0,
    d: 0
}

Feedback & Support

Need help? Contact PubNub Support.


Talk to an expert

Contact Sales