Sports Activities and Serverless – The Architecture for Data-driven Systems

Sports Activities and Serverless – The Architecture for Data-driven Systems

Sports activities and serverless – the architecture for data-driven systems. From the article, you'll learn how to build the architecture for data-driven systems. We decided to go with a Serverless approach and since we focus mostly on AWS, we went with AWS Lambda.

A few years ago at The Software House a new initiative was launched – TSH Challenge. The idea was simple, let’s count the kilometers we run/walk/ride and convert those into points, so we can motivate each other to a healthier lifestyle. The idea was a great success and soon it evolved into a lottery where each point gave you a lottery ticket, allowing you to win something. We could end it here, but this was just a beginning. Let’s talk about sports activities and serverless and how we build an architecture for data-driven systems.

Endomondo

The first version of the app didn’t come with any special requirements or features. We only wanted to calculate the points and track user activities. In fact, it required little coding from us, because most of the functionalities were handled by Endomondo.

It had a feature called challenges that we could use to gather necessary information from all the users from our group.

We had to build a parser, which was done with a simple PHP script, executed every few days on a DigitalOcean droplet. Yeah, it doesn’t sound exciting at all. It was really simple! Of course, the initial design had some flaws, we soon discovered…

The end of Endomondo

At the end of 2020, Endomondo announced they were shutting down the platform. Every user had time until December 31 to transfer activities into a different system. It was fine for a standard user, yet much more complex for systems that depended on Endomondo special features, like those challenges we were using. 😅

So since we didn’t have a choice, but to change a provider, we decided that maybe it is also a good moment to rethink the whole application and finally remove all the flaws we found.

We started making our decisions regarding the architecture and technology based on a few drivers:

  1. Support any kind of activity.

  2. Flexibility of points recalculation at any time. 

  3. Provider-agnostic.

  4. Real-time updates.

  5. Node.js- and AWS-based.

    The second point was quite a crucial requirement because we wanted to rate each type of activity based on variable conditions. Let’s take walking, cycling and workout as an example. We based points for cycling and walking on distance, however, workouts are based on duration. Now, let’s add some more complexity to that equation.

    One kilometre of cycling shouldn’t be worth the same as 1 kilometre of walking. It is far easier to cover one kilometre on a bike than on your feet.

    So, we needed to move most of the calculation system from the provider to our system. Making it also less dependent on a specific integration however, it is not like we could use any provider. We still wanted to achieve real-time updates, so we had to make sure to have access to up-to-date rankings constantly.

data-driven endomondo serverless sports

What is Geek Coin

What is GeekCash, Geek Token

Best Visual Studio Code Themes of 2021

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Your Data Architecture: Simple Best Practices for Your Data Strategy

Your Data Architecture: Simple Best Practices for Your Data Strategy. Don't miss this helpful article.

Only Data-Minded Marketers and Market-Minded Developers Can Achieve Data Driven Marketing

Using data as a part of your marketing plan can have a tremendous impact on your overall results, which is why data-driven marketing has become the standard for many agencies.

Filtering Data to Deliver Improved Data-Driven Decisions

In this tutorial, we'll learn Data cleansing or scrubbing is a form of data management. It is a process in which you go through all of the data within a database to convert bad data into good data.

83% Of Data-Driven Organisations Gained Critical Business Advantages During Pandemic

In this tutorial, we'll learn 83% Of Data-Driven Organisations Gained Critical Business Advantages During Pandemic. If there's one show you shouldn't miss it's here.

Getting Started With Data Lakes

In this post, we'll learn Getting Started With Data Lakes.<br><br> This Refcard dives into how a data lake helps tackle these challenges at both ends — from its enhanced architecture that's designed for efficient data ingestion, storage, and management to its advanced analytics functionality and performance flexibility. You'll also explore key benefits and common use cases.