Categories
Uncategorized

Tech Talk

So far the cloud based algorithmic trading project is coming along quite nicely. We got past most of the hurdles that came up in the beginning of our development and are now really getting into the meat of the development. We are using a small plethora of technologies in out stack for this project including, AWS, Flask, MySQL, and React.js. As I have been primarily working on the frontend the technology that I have been using the most is React. Before this project I had a small amount of React experience from a previous computer science class here at OSU, but now that I am utilizing it for a bigger project I now see that we barely tapped into the potential of React in that class. As I have been learning more and more about the React library I now see how great of a job it does blending html and Javascript into a user friendly format.

React allows you to define Javascript functions that return html elements. You can then nest these components to have a “tree” of components that make up the entirety of your web applications frontend. In these functions you can also have functional data handling with useState and useEffect which allow you to update data based on user input and then redisplays it to the page. React also allows you to easily ‘escape’ into javascript within the html code making it even easier to manipulate the data within your application.

A technology that I am less familiar with, that we are also using, is the Flask framework. We are using Flask to handle the backend and routing to ‘serve’ the React based frontend in somewhat of a Model-View-Controller (MVC) architecture. This allows us to have the benefits of a React based frontend while allowing all of our backend Python code to operate on its own without having to mingle the Javascript and Python languages.

Overall learning these technologies (while a little daunting) has been great and I am looking forward to continuing to make progress on our project.

Leave a Reply

Your email address will not be published. Required fields are marked *