Dev Diary: July 2019

Development powers on in the background.

Firstly, we would like to share our sincerest apologies for the Dev Diary delay. The whole team has been 100% committed as we work to finalise the exchange backend and integrate our UI. We are now firmly focused on our limited public release. We're truly thankful for you bearing with us.

Here's what we've been up to over the past weeks...

DATABASE COLLISSIONS AND MANAGING DUPLICATES

Multi-user accounts will be key for attracting our key demographic.

With the creation of the multi-user account facility, a near-infinite number of user, account, organisation and user-access level permutations became possible. However, this manifests two potential issues:

  1. Multiple users of an organisation editing the same information at the same time
  2. The user being presented by multiple accounts with the same name (eg. duplicate account names across different organisations, and duplicate account names within an organisation)

We have taken steps to eliminate this potential collision; and at the same time improved tracking of how orders are placed, modified, cancelled and executed.

More work is needed to address the potential confusion which could be created by having duplicate names. We are looking at a number of options to best address this and ensure that the multi user account facility is as streamlined, as simple, and as clear as possible.

WEBSOCKET ORDER MANAGEMENT

To improve the user experience and the responsiveness of the UI, we have migrated a number of our order entry, modification and cancellation APIs from REST to websocket. This means that instead of making a new connection to our platform for each order entered, modified or cancelled, we instead hold one connection open and do everything through this.

We intend to keep our legacy REST APIs available so that trading bots and automated trading systems will remain fully compatible with our system. For a quick review of the differences between REST and websocket, click here.

PUBLIC HISTORICAL DATA

To simplify how we manage historical data, we are in the process of creating a separate database to appropriately store pricing and volume information. This separate database will be our long-term public archive - and to improve GDPR compliance, we will not retain any links to users who created the price discovery. From this archive, we can feed our charts and provide extensive historical data to our users.

GETTING READY FOR FULL DEPLOYMENT

There are a number of steps we need to complete to simplify how the platform deploys and runs over the long term. We are working on the following deployment areas:

  • Isolation of core platform modules to their own docker containers
  • Building a kubernets cluster
  • Improve error handling and recovery
  • Adding additional management tools
  • Adding additional data analytics tools
  • We are aiming at single-click deployment of the full exchange platform and to have sufficient administration tools in place so that we can avoid any downtime for maintenance and updates

RECRUITMENT

We are currently in discussions with a UI/UX dev to assist with our UI "to-do" list. There are a number of minor tweaks and major projects we are looking to add and an extra pair of hands will be incredibly helpful.

CODE REFACTORING

As an ongoing development task, we regularly spend time refactoring our code. We do this primarily to tidy things up and keep the technical debt to a minimum.

Regular refactoring simplifies our code and means that once the entire platform framework is complete, it will be much easier for us to bring in additional devs, get them up to speed, and help them build more great platform features.

GDPR REQUESTS AND PROCESSING

We have been receiving a number of GDPR data requests, and responding to them manually has become very time consuming. However, we expect the number of requests will grow exponentially once we launch our platform. To address this, we are building an automated user download feature which downloads all of the user data, including login history, orders, executions, etc. The next phase is a purge feature which will delete all data in compliance with GDPR.

Once the user GDPR features are complete, we will work on the Account and Organisation features as below:

  • Download User Data
  • Download Account Data
  • Download Org Data
  • Purge User Data
  • Purge Account Data
  • Purge Org Data

PUSHING TO THE FINISH LINE

We are working to complete the platform as fast as possible. However, the challenge we face is a lack of resources and a limited development team.

The below code commit chart (amalgamated from various repositories), shows our team is powering forward.

Commits

WATCH THIS SPACE

The market may be tough but nothing will stop the Dimensions Network team from creating our hybrid exchange. We truly appreciate the support of our community and ask that you keep checking in for updates about our limited public release in the coming months. We'll be eager to share developments as they happen.

Thanks for being a part of our community!

Dev Diary: July 2019
Share this