npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

xpush

v0.1.3

Published

Web based Realtime Communication Platform

Downloads

32

Readme

visit XPUSH (for version 0.0.23)

We are preparing the documents for version 0.1.x

xpush

XPUSH (eXtensional PUSH) is a real-time communication server and a programmable library that supports websocket, GCM and APN. It is suitable for implementing components such as messengers and push system.

Features

You can easily build real-time services with HTML5 Websocket and socket.io, the module on node.js.

But, there are a lot of things to consider on building the real-time services. You need to consider various things such as distributed server configuration in consideration of the users who are rapidly increasing, network traffic processing of large capacity and scale-out strategy.

XPUSH is a server platform that provides such as real-time message communication, message storage, user and device management and Mobile Push Notification. Everyone will be able to install and use after you downloaded. And, XPUSH is a service platform for developing a wide range of real-time services and applications over a single XPUSH server platform.

Without having to directly implement the real-time communication servers, After you install XPUSH platform, try adding a real-time data communication features of your service.

1. Real-time Web Communication Platform

" We help you easily build real-time applications. XPUSH was designed for developers. "

XPUSH consists of real-time communication servers that has been developed as a Web technology. You can build a variety of real-time messaging applications such as your own messenger and chat services

Currently, XPUSH developers are provided Javascript libraries for developing Web services and JAVA libraries for developing JAVA applications and Android applications. We are continually developing additional libraries.

Real-time data communication, while maintaining the network connection between the Client and the Server, can transmit and receive data bidirectionally. If the connection to the server is lost, or even if some servers fails, it guarantees the service availability.

2. Works Everywhere

" At the core of XPUSH is the HTML5 WebSocket protocol, but we also have fallback mechanisms so that XPUSH just works anywhere, anytime. "

XPUSH was developed by node.js to implement high-performance servers. It uses Socket.IO, one of the modules for web-based real-time messaging. And we continue to update the modules to use the latest version.

Socket.IO enables real-time bidirectional event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.

3. Scalable Web Architecture

" XPUSH was designed to work with commodity servers, an elastic virtualised environments saving you money and headaches. A scalable web application can handle growth – of users or work – without requiring changes to the source code and stoping existed servers "

Real time server platform has to be designed to be able to handle a large amount of network traffic to a sharply rising splice. It has to run a large number of servers for load balancing, needs to designed to be non-disruptive expansion. XPUSH developers designed the Scalable Web Architecture for a long time, and continue to optimize the architecture design.

XPUSH manages the real-time status of the distributed servers through a zookeeper and use Redis to store connection information of the visitors and meta datas in the memory. And XPUSH stores various types of unstructured messages sent or received in MongoDB.

XPUSH server platform run each in the Session server and Channel server. Channel server is responsible to authenticate users, managing user and device information, and assigning distribution server for load balancing. Since relatively Channel servers are easy to increase the load on the network traffic, so that it can be added separately as an expansion only Channel server

1. Prepare

To use the XPUSH is, nodejs, zookeeper, redis is required .

The following is how to install 64bit linux. Please install to suit your environment. If you have already been installed, please skip these preparation steps.

Install nodejs

nodejs installation by referring to Download and unzip the nodejs.

cd $HOME/xpush
wget http://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-x64.tar.gz
tar zvf node-v5.0.0-linux-x64.tar.gz
cd node-v5.0.0-linux-x64
./configure
make
sudo make install

Install zookeeper

Install and run zookeeper with reference Zookeeper installation.

The following is the code to install and run the zookeeper3.4.6.

cd $HOME/xpush
wget http://apache.mirror.cdnetworks.com/zookeeper/stable/zookeeper-3.4.6.tar.gz
tar xvf zookeeper-3.4.6.tar.gz
cp zookeeper-3.4.6/conf/zoo_sample.cfg zookeeper-3.4.6/conf/zoo.cfg
cd zookeeper-3.4.6/bin
./zkServer.sh start

Install redis

Install and run redis with reference Redis installation.

The follow is the code to install and run redis 3.0.3.

cd $HOME/xpush
wget http://download.redis.io/releases/redis-3.2.3.tar.gz
tar xzf redis-3.2.3.tar.gz
cd redis-3.2.3
make
src/redis-server
(daemon : $ nohup src/redis-server & )

2. Run your application with push module

clone xpush repository

git clone https://github.com/xpush/node-xpush.git
cd xpush

run session server

node examples/server-session.js 8000

run channel server

node examples/server-channel.js 9000