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.