If you have an app that involves letting users enter content of any kind, regardless if it’s chat, discussion boards, or a social site, you want to have the ability to filter content to make sure it is appropriate.
Sift Ninja provides a handy API that does just that, and combined with Flybase, you can offer real-time content checking before posting it anywhere.
To get started, you’ll need two things:
When you set up your Sift Ninja account, you’ll be asked to create a custom channel, name it whatever you want. This will then give you a unique URL as well as your API key.
Inside your Flybase account, create an app called siftninja
, you’ll want that and your API key.
Our node app is going to be really simple, from your terminal type:
$ npm init $ npm install --save finalhandler flybase siftninja serve-static
This will install the node modules we need for our app.
Create a file called index.js
, which will contain a Flybase listener to check content entered on our chat page:
This will create a custom event listener called check_content
, which will check the message
for any inapproriate text and return the results back to our frontend app.
If response
was true, then the text was ok, and we save it to our Flybase app, and thus let it appear in the chat window.
If the response
was false, then there was a problem with the text and we notify the user who entered it and do not save it. We’ll pass a unique session id for the user, which lets us respond to that user without notifying all other users.
Create a folder called public
and inside that folder, create a file called index.html
:
We’ve kept this app simple, when the user hits the enter
key on their text it sends an event to our backend via Flybase and then listens for a reply.
We assign our chat users a unique session ID that follows them for the life of that browser session, this then lets us add a unique listening event called results_<SESSIONKEY>
that we can use to pass any issues we’ve found directly back to that user.
You can see the original repo here.
Feel free to expand on what this can do, as Sift Ninja is a handy tool to have in your arsenal and the guys behind it are solid in this area, and combining it with Flybase’s real-time events lets you check content entered in real-time before saving it to your database or forwarding it to other users.
Ready To Build Awesome Apps?