Challenge
Our client is a provider of financial and business consulting, investment services, and asset management. They offer a comprehensive suite of services, including tax planning, investment advisory, asset management, financial planning for both businesses and individuals, as well as insurance and real estate consulting.
One of the company’s rapidly growing areas of expertise is trading in currencies, cryptocurrencies, and other financial instruments. Cryptocurrencies represent a form of online money. With the surge in interest in digital currencies, an increasing number of individual investors are finding opportunities to earn significant returns in this emerging space.
However, a cryptocurrency’s value can be highly volatile, changing drastically within hours. An investment worth thousands of U.S. dollars today could drop to mere hundreds tomorrow. If the value decreases, there is no guarantee it will recover.
The value of digital currencies is entirely dependent on the worth attributed to them by owners and investors—this principle holds true for both digital and traditional fiat currencies. For this reason, fiat currencies are also a potential asset within the Financial Trade Platform.
This project has aimed to deliver a user-friendly, multi-functional trading platform that enables investors to trade major currency pairs, Contracts for Differences (CFDs), cryptocurrency pairings, and other financial instruments.
Solution
The solution implementation includes a Dashboard and a Customer Relationship Management (CRM) system, both developed as a web application.
Dashboard:
The Dashboard facilitates client onboarding within the Financial Trade Platform, catering to both sole traders and companies. It incorporates Know Your Client (KYC) verification as a prerequisite for starting trading activities.
The Dashboard primarily focuses on company accounts but also supports accounts for natural persons, including sole traders and non-company entities. For company accounts, the roles include:
- Ultimate Beneficial Owner (UBO)
Customer Relationship Management (CRM):
The CRM serves as a back-office system with integrated customer relationship management capabilities and the ability to connect with multiple trading platforms. When a user registers on one platform, their account is automatically registered across all connected platforms.
One primary objective of the CRM is customer management. The main roles within the CRM are the Administrator and the KYC Officer.
- After a client successfully completes the KYC process, they can proceed to create a trading account. The client is then granted access to account creation features in the Dashboard.
- When the client submits a request, the KYC Officer is notified within the CRM. The KYC Officer manually initiates the creation of a new account within the trading system.
- Once the account is created, the manager receives a notification containing the client’s account details, including the Identity Document (ID) and temporary credentials. These details must be entered into the CRM, allowing the manager to verify the Trader Number, ID, and Trader Name.
- After verification, the client receives an email notification confirming the account creation. Account details are also displayed in the client’s user profile on the Dashboard.
Technologies used: JavaScript, TypeScript, NodeJS, ReactJS, MaterialUI, GraphQL, Knex, AMQP, Redis, PostgreSQL, MySQL, NestJS, TypeORM, HTML, CSS, REST API, Git.
Result
As a result, we have successfully implemented a multifunctional trading platform. Using the Dashboard and Customer Relationship Management system, users can securely buy and sell currency, cryptocurrency, and other financial instruments without unnecessary intermediaries.