Service to gather sports data

Task: Gather data from different sources, combine them in one place and share as a REST service

Language: Java, SpringBoot

DBMS: MySQL

Cache system: Memcache

Data sources (MLB, NFL, NBA):

SportRadar – get sports data;
Stats – get sports data;
Fantasypros – get sports data;
OpenWeather – get weather for sport event locations.

Data:

  • player map;
  • consensus rankings;
  • team roster;
  • team depth chart;
  • season projections;
  • projections;
  • season statistics;
  • game roster;
  • weekly league leaders;
  • team hierarchy;
  • season schedule;
  • weekly schedule;
  • rankings;
  • standings;
  • game summary.

Implementation:

SpringBoot java application with crontab and set of REST services.

Crontab – periodically (twice a day, once a week, every 10 minutes) calls gather methods. Methods get data from different sources, process them and store in the local database.

REST API – services to share stored data between clients sites.

To increase response application uses Cache system to store frequently used requests.

Application works on AWS EC2 instance with MySQL RDS and Memcache cache system.

Done.

Leave a Reply

Your email address will not be published.

89  +    =  98