initialCapacity[]

Fundamentals of Software Architecture for Big Data

The course is intended for individuals looking to understand the basics of software engineering as they relate to building large software systems that leverage big data. You will be introduced to software engineering concepts necessary to build and scale large, data intensive, distributed systems. Starting with software engineering best practices and loosely coupled, highly cohesive data microservices, the course takes you through the evolution of a distributed system over time.

← Back

Download the codebase

Match predictor

The Match Predictor codebase contains an app with several predictors for football results.

Local development

Follow the instructions below to get the app up and running on your machine.

  1. Install Python 3.10 and a recent version of NPM.
  2. Install dependencies and run tests.
    make install test
    
  3. View the list of available tasks
    make
    

Backend

Here are a few tasks that are useful when running the backend app. Make sure they all run on your machine.

  1. Run tests

    make backend/test
    
    
  2. Run model measurement tests

    make backend/measure
    
  3. Run server

    make backend/run
    
  4. Run an accuracy report

    make backend/report
    

Frontend

Here are a few tasks that are useful when running the frontend app. Make sure they all run on your machine.

  1. Run tests

    make frontend/test
    
  2. Run server

    make frontend/run
    

Integration tests

If it's helpful, you may want to run integration tests during development. Do so with the tasks below.

  1. Run tests

    make integration/test
    
  2. Interactive mode

    make integration/run
    

A workshop by

Initial Capacity