Project Overview

Production approach

The project was developed as a single page application on the basis of the Backbone.js library.

Custom API

A resilient API was written and well documented along with a sandbox (for testing API methods) to facilitate communication of the client side with the server side.

Caching

The application is multilingual, each languages JS code is compiled in modules that are placed into one file that in turn caches with each client. This approach increases download speeds for returning visitors.

Multi-stream incoming quotes

Establish a connection to a high-speed feed of financial data. For the most effective use of the servers’ resources a multi-stream script for data processing with caching has been written on Python.
In order to output the data for each time frame a separate stream is created through the web socket, so every new visitor is connected to one of these existing channels instead of creating a new one.

Databases

Two databases: PostgreSQL and MongoDB. Most of the financial logic is processed as procedures in the PostgreSQL server. All procedures were tested in unit testing. MongoDB is used as a storage server of activity, analysis and statistical data of every user's activity.

Back-end framework

The back-end is embodied on an MVC framework - Symfony2.

Scaling

Automatic scalability was implemented; the project was divided into modules to ensure the capability of placing high volume modules into different servers. The process of scaling is designed to run autonomously, PAAS Jelastic is used for both vertical and horizontal scaling.

FINLAB
Published:

Project Made For

FINLAB

FinLab – a trading platform for Facebook.

Published: