Solution
The creation of this cryptocurrency exchange became one of our most
interesting projects. We worked together with another software
engineering team and we were responsible for building and testing
the front-end part.
As soon as all the requirements were defined, a technical
specification was written, and the tasks were allocated, we got down
to development.
Here is what we did:
-
Implemented a digital currency exchange components according to a
web design
-
Created web pages that are available without authorization
- Added a user account
- Connected real-time mode
-
Added the ability to customize the appearance of a cryptocurrency
exchange
- Tested the website and fixed bugs
Let’s take a deeper insight into the development process and the
challenges that we faced during it. We started making a
cryptocurrency exchange with the creation of a UI components library
that could be further used for simple project extension.
Then, based on these components, we built web pages that don’t
require user registration or authorization. However, the main tasks
were associated with a personal user account. It included a large
amount of logic that was connected with the tables containing
information about currencies, user own orders, and transactions.
Moreover, an important task was to make all these tables updatable
in real-time. For this purpose, we used WebSockets technology.
To add the feature of the real-time update, our engineers needed to
bear in mind that those tables had multiple interconnected search
fields and filters. In addition, we added the ability for the user
to withdraw funds and credit account.
The most difficult part of UI development was to customize the user
interface. We provided the highest level of customization: now the
user can simply create a dashboard containing all the necessary
tables, diagrams, and data that can be placed anywhere and be of any
size.
Another important task was to make a TradingView graph in which
users could see useful financial information and conduct analysis
with the help of real-time data.
When we had the functionality ready, our QA engineer tested the
front-end. Since we dealt with a cryptocurrency exchange and real
money (Jest), we paid special attention to this stage. The main goal
here was to ensure that the user would always have the right data in
real-time regardless of his/her activities.
So, we tested both filtering and sorting logic, real-time mode,
interface, cases of Internet connection and disconnection, and much
more. To deliver a fast interface, a great focus was made on code
profiling. As a result, users enjoy a quick program functioning.