Development powers on in the background.
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:
- Multiple users of an organisation editing the same information at the same time
- 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
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.
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
Thanks for being a part of our community!