Desktop Signals Receiver

The end-users who subscribe to one or more signal providers use another Desktop app for Windows or Macintosh to trade the signals the provider sends out. Binary Option Brokers do not give API access to their trading systems. So I built an app that will open a broker’s website and inject some Javascript code in the webpage to be able to control the website and execute trades. The user chooses from a number of available brokers, enters their credentials and sets some money management settings.

When a Signal Provider enters a trade in a special Desktop app created for that purpose, that signal is sent to our server, validated and forwarded to pusher.com, a messaging service. The user's Desktop Trade Copier app receives the signal and my custom code that was injected into the broker's web site, is clicking the right buttons and filling in the required fields.

Traders interface
This Desktop app is built with node, html and css, together with Electron. The latter is a sort of a shell program that includes the Open Source Chromium browser together with the V8 Javascript runtime. Electron creates full native desktop programs but using html/css/js. It has full access to the file system and any other native resource. It also allows you to inject javascript into existing websites. This function is heavily used in the Desktop Trade Copier. This app utilizes jQuery in many places for getting screen objects and firing events. It supports ten different Binary Options brokers. It also includes a user subscription service with automatic expiries.

Keywords:
Electron, HTML, CSS, Node.js, jQuery, Express.js, MongoDb, AWS EC2, AWS S3 Web Server, JSON Web Tokens, Docker, Pusher, Winston logging and Loggly logging