Basic Components of Trading Platform

Posted By : Manish Kumar Narang | 30-Mar-2018

Different Components -

1) User Interface -  How your traders see your exchange. Must be user-friendly and intuitive. UI needs to be mobile friendly too. It should have following functionalities :

 

  • Register and access an account (modify userDetails)
  • View current order, past transactions, balance , statistics etc
  • Analytics (optional)
  • Place buy and sell orders
  • Payment (Fiat, BTC, Eth)
  • Wallet Management
  • Access the support mechanism (communication with the admin)

 

2)  Admin Interface – To Control and Manage the exchange. It should have following functionalities :

 

  • Editing the trading fees (in percentage)
  • Approving user accounts for trading (User Management View – Active/Inactive user, send email functionality)
  • Approving transactions (only deposit request)
  • Addressing the support requests raised by users (optional)

 

3)  Trading – Transaction Management – accesses the order book, matches buy/sell orders, executes transactions and calculates balances

 

 

4) Wallet  - Multiple currency wallet with minimum basic functionality

 

The manner in which these components are shown and defined above, one can easily picturize a microservice architecture for development. The development process should take between 3 to 6 months depending on the complexity of the trading platform.

 

Basic Schema

User : id, userName, email, phoneNo, status (active/inactive), Country, createdOn, passwd

Role : authority (String) {admin, user, manager}

Transaction : currency {Fiat, Crypto}, exchangeRate (Null for Fiat), fee (in percentage), amount, buyer (Null for Fiat) (user), seller (Null for Fiat) (user), status {success, failure, pending, cancelled}, grossAmount,  transactionId

User has many Role

 

User has many Transaction

 

User has many  Wallet

 

AuthToken : authType, token, userId

 

Message : subject, to , from, body , dateCreated, status, isChecked

 

Wallet : id, userId, balance, shadow_balance, walletType

 

Currency : type, name, symbol, fee

 

Order : amount, fee, currencyId, orderType, dateCreated, status

 

TraderAd : minTrans, maxTrans, totalSupply, currencyId, traderName

 

About Author

Author Image
Manish Kumar Narang

Manish is an experienced Backend Developer with several years of industry experience in the IT field. He possesses a wide range of skills, including expertise in Backend languages like Core Java, J2EE, Hibernate, Spring/Spring Boot, and Python. Manish is also proficient in relational databases such as MySQL, PostgreSQL, and Oracle. He has hands-on experience in API implementations, web services development, testing, and deployments. Manish has contributed to various internal and client projects, including PMO, Catalyst, Communication-Scaffold, Oodles-Dashboard, and Devops Support, delivering significant business value. He is known for his innovative mindset and excellent problem-solving abilities. He keeps himself updated with new technologies by reading about them. He is skilled at collaborating closely with clients to define project scope and requirements, establish project timelines and milestones, and manage expectations. Manish conducts regular project status meetings, ensuring regular updates to clients and stakeholders regarding project progress, risks, and issues. Additionally, he serves as a mentor and coach to junior developers, offering guidance on project management best practices and fostering their skills development.

Request for Proposal

Name is required

Comment is required

Sending message..