/ Software Development

Front-End Projects at Binary.com

The Binary.com front-end code has been completely split from the back-end code. All front-end projects interface to the back-end via our WebSockets API.

Our front-end projects are all open-sourced on GitHub. We open-source these projects to encourage good coding practices, transparency, and it also helps with recruiting talent, as we can test new potential hires by engaging them on these open-source projects before confirming them.

The front-end projects are listed at https://developers.binary.com/open-source/. The most important projects are binary-static (the front-end of the binary.com website itself), webtrader (a full-screen trading application - webtrader.binary.com), binary-next-gen (a trading application designed to work both on desktop and mobile - app.binary.com), tick trade mobile app, and binary-bot (an automated trading strategy platform - bot.binary.com).

One important principle to remember is that business logic must hence sit only within the WebSockets API, i.e. front-end code should never implement any business rules.

Front-end projects hosting

All our front-end projects are hosted with the GitHub Pages facility. Hosting on GitHub Pages requires creating a branch called gh-pages, and adding a file called CNAME to the branch. Since GitHub Pages doesn't support hosting on our own domain with SSL, we use Cloudflare to provide SSL (as well as other benefits such as CDN, website acceleration, website application firewall).

Unit tests

All front-end projects are encouraged to have a comprehensive test suite. We use Travis CI to run the test suites.

Style guide

Front-end projects are encouraged to follow Binary.com's style guide (cf. source for the style guide at https://github.com/binary-com/binary-style. This is to ensure branding consistency between all Binary.com front-end applications.

Participating in the front-end development

Third party developers are most welcome to participate in our open-source projects. To do so, fork the relevant repository into your own GitHub account. You may then make your code changes, and then submit a pull request. Your pull request will be reviewed by our front-end development team, who will either submit comments and feedback, or merge it into the main master branch.