While existing stock trading platforms like Zerodha or Money Control are for individual users, our project is for a broker to manage multiple clients. Seamless experience across mobile, tablet and PC, the application is a one stop solution for all things stock. A broker can manage multiple clients through the dashboard. Features of stock prices for any stock, depicted through a variety of charts, Candlestick and Linechart are not behind an authenticated wall, meaning that the broker can quickly glance at the markets. Any stock listed on NASDAQ can be viewed. The data is fetched in real time. There is also an ML model, implemented in TensorflowJS, which trains through the real time data, and predicts movement of stock, with a 96% accuracy.
A broker can view at the latest market news, real time, based on category, which can allow him to make informed decisions.
Historical data can also be downloaded in CSV, allowing the broker to go through the history.
Logging client details needs a broker to sign up.(Secured using BCrypt - JWT). The broker adds client trade details in CSV format, with the help of template provided. The data is then updated on the MongoDB database.
The broker can view the client details on the dashboard, wherein the market price is fetched in real time, and the profit is calculated in real time, based on the same.
The app is fully responsive, lightweight and easy to use.
We have used CI-CD(Continuous Integration, Continuous Delivery) to ease the push to production.
The app has been unit tested using Karma and Jasmine, and End to End tested using Protractor framework, to make sure it runs without glitch.
Google Charts, which we have used for creating the charts is not responsive. CSS classes don't work on it. Thus, we had to add an additional JS window size listener to listen for size change, and refactor the chart.
Also, training the data in real time using TensorflowJS was a challenge, since the performance was not very good. Uploading CSV to directly populate the database is another area that brought some grief to us.
Technologies used
Discussion