PushEx is an implementation of Phoenix websockets/channels which handles best practices of running websockets for you, but allows your business logic to be specified through simple behaviour modules.


License
MIT

Documentation

PushEx

Hex.pm Hex.pm Hex.pm Build Status

PushEx is an implementation of Phoenix websockets/channels which handles best practices of running websockets for you, but allows your business logic to be specified through simple behaviour modules.

PushEx is currently in a pre-release stage as requirements of full release are being met (tests, documentation, load testing).

Key Links

Features

  • Push socket/channel implementation
  • Push API implementation
  • Customizable hook points to allow authentication and instrumentation
  • Designed for performance with a large number of connections and messages
  • JS client built on top of Phoenix.js

Get Started

The best way to get started is by following the Standalone Installation Guide.

It is possible to integrate PushEx with an existing Phoenix application, although this is not recommended for applications which are deployed often. The installation guide for this case is slated for the future. Please open an issue if you'd like it for your use case.

The PushEx docs contain many guides such as authentication, deployment, instrumentation, PushEx.js, PubSub, API usage. Please see this guide for up to date information. You can also access these guides in the repo folder guides.

Current Version

Add the following to your mix.exs deps in order to get the latest version of PushEx:

  {:push_ex, "~> 1.0.0-rc5"},

Examples

Examples are located in the examples directory. The test_frontend_socket example is the most complete and simple example.

Company Sponsor

A big thanks to SalesLoft for helping with the development and open-sourcing of PushEx. Their support of my professional and personal time into this project (it was formed in an Innovation Week) is the type of thing that makes them Atlanta's best place to work.