Book Image

Learning Node.js for .NET Developers

By : Cummings
Book Image

Learning Node.js for .NET Developers

By: Cummings

Overview of this book

Node.js is an open source, cross-platform runtime environment that allows you to use JavaScript to develop server-side web applications. This short guide will help you develop applications using JavaScript and Node.js, leverage your existing programming skills from .NET or Java, and make the most of these other platforms through understanding the Node.js programming model. You will learn how to build web applications and APIs in Node, discover packages in the Node.js ecosystem, test and deploy your Node.js code, and more. Finally, you will discover how to integrate Node.js and .NET code.
Table of Contents (16 chapters)
15
Index

Building a user ranking system with Redis


We want to be able to rank users based on how many games they have completed. We will create a user service, implemented in Redis, that provides the following functionality:

  • Record when a user successfully completes a game

  • Return the top three users across the site

  • Return the rank of a given user

We will first add a feature to make the site a bit more user-friendly by allowing users to choose a screen name.

Using Redis from Node.js

First, we'll need to install a Node.js client library for Redis. We'll also use the promise library Bluebird to convert the Redis client library to promises:

> npm install redis --save
> npm install bluebird --save

First, we'll create a module for configuring the Redis client as shown here in src/config/redis.js:

'use strict';

const bluebird = require('bluebird');
const redis = require('redis');
bluebird.promisifyAll(redis.RedisClient.prototype);
module.exports = redis.createClient(process.env.REDIS_URL);

Now we can create...