Taxonomy Icon

Cloud

Create a soccer league dashboard app with Akka

Get the code

Summary

When designing computer applications, the programming model needs to consider scalability, resilience, fault-tolerance, and performance. The system should be able to manage network latency, memory usage, and high computation required by the system. To overcome these situations, Akka’s actor model allows you to create actors to handle modern computer architectures. In this code pattern, we will create a soccer dashboard for Premier League UK. The dashboard is created by crawling PremierLeague.com. The back end utilizes the Akka Actors model, the front end uses the React JavaScript library, the data storage uses IBM Cloudant®, and the code is deployed on IBM Cloud.

Description

Soccer fans worldwide enjoy live weekly games of the various soccer leagues. And every week, there are many live feeds coming to the various websites in the form of scores, commentary, team standings, fixtures, results, etc. And there lacks a proper web application that can communicate with the providers and give real-time feedback to the soccer fans. For the fans of teams in La Liga, Premier League UK, Serie A, and Bundesliga, instead of having to go to multiple websites to get real-time scores, they just look at the dashboard for the aggregated real-time scores from all four leagues – a real time-saver. Since Akka is an asynchronous way of building powerful, reactive, concurrent, and distributed applications, a real-time soccer league dashboard would be an ideal use of Akka.

Akka consists of actors. An actor is the smallest unit of your Akka-based application. An Akka is a container for several components. The components include actors, state, behavior, mailbox, child actors, and supervisor strategy. Akka ensures that the communication is through asynchronous messaging and that it’s the only way to interact.

This pattern will demonstrate how to define Akka actors in an Akka cluster.

Flow

flow

  1. Create actors for Akka.
  2. Expose Akka REST APIs.
  3. Actor to crawl and store data to NoSQL database.
  4. Deploy the app to IBM Cloud.
  5. User can interact with the app.

Instructions

Ready to put this code pattern to use? Complete details on how to get started running and using this application are in the README.