Fantasy Homeruns Rebooted with React, Node & Websockets
During my twenty years in the industry, dating back to the early days of web development (yes, I had a GeoCities website back in the day), I have had my hands on experience building all flavors of web applications. The buzz in the early 2000s was server side rendering using ASP.net or PHP and other frameworks evolved, claiming to be easier to use and supported by the open source community. With the emerging market of new easier-to-use and faster rendering Javascript frameworks and the enticement of client-side applications, I jumped deep into the mix working with as many flavors on the scene. Working with Javascript can help deliver a more enriching experience for the users, with instant dashboard reactions and an exciting toolkit of functionality at the developers hands.
Fantasy Homeruns (https://www.fantasyhomeruns.com), a side project of mine, started over fifteen years ago with my father. A fun automated fantasy league, that focuses on one exciting stat in baseball: home runs. Over the years I have rebuilt the website as a way to explore new frameworks and make the site easier and a better experience for all.
Last week, we officially launched our new experience using React JS, Node & Websockets. Why React, Node & Websockets?
React JS is an amazing user interface tool built specifically by Facebook to solve many user interface issues in regards to how users interact with their applications. In layman terms, it simplifies how your browser gets updates, by only updating the parts that a customer interacts with in realtime.
Node is the server side 'backend' of the application, written in pure Javascript which can interact with the database and do the heavy lifting.
Websockets. Ah websockets. When a customer connects to their Fantasy Homeruns account, a websocket connection is opened to our Node server and it listens for changes. This has enhanced a feature such as the Draft process, in which several users (teams) can experience picking their players in realtime, receiving the updates without the use of polling for changes. This increases the amount of users that can interact with the system and enhances their experience with using the system and receiving updates.
The future, the present and the past. Understand the past, live in the present, build for the future. Fantasy Homeruns is the evolution of my experience working with web applications. It's been a journey and a great privilege to have a project that can evolve as new technologies emerge. Test driven development, automated unit & integration testing, continuous integration & deployment using tools such as Jira, GitHub & Codeship are all used on this project.
Sign up today and join in on the fun!