is a web application which aims to provide useful information about a summoner's teammates and adversaries.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This project is generated with yo angular generator version 0.15.1.

You can preview a live version of the app here (be patient, it make some time to start since heroku automatically puts applications to sleep)

concept is a web application which aims to provide useful information about a summoner's teammates and adversaries.

It allows players to check their odds of winning their next match based on the public information available to players.

It checks the level of competency of each player based on the information available, such as mastery level with that champion, best grade on that champion and total champion mastery score. Also you can see if the currently playing champion is one of the player's 3 most played champions.

This web application is meant as a mean to display champion mastery data in a meaningful and easy to read way.

The aim of this web application is not to give the true result of a match, but to let the user know what are the starting odds of winning, who are the greatest threats and the weakest links in match, so they can adjust their gameplay accordingly without giving them unfair advantages.

Frontend application

Technology stack : angular, node, bower, grunt, compass, yeoman

Build & development

  • You need to have compass installed gem install compass
  • You need nodejs installed
  • Install the grunt cli npm install -g grunt-cli
  • Install bower npm install -g bower
  • Retrieve node dependencies npm install
  • Retrieve bower dependencies bower install
  • Run grunt for building and grunt serve for preview.


Running grunt test will run the unit tests with karma.

By default, the frontend application connects to the backend which is deployed on heroku. If you wish to use a local server you should edit the app/scripts/config/config.js file and replace with http://localhost:8080.

Backend application

Technology stack : java 8, kotlin, spring boot, gradle, rxjava

Build & development

  • make sure to have a jdk 8 installed
  • set the riot.api.key as environment property (or modify the src/main/resources/
  • run ./gradlew bootRun
  • the application should be available at http://localhost:8080

Backend technical Todo list

  • Introduce rate limiting
  • Improve rate limiting
  • Use spring DeferredResult in controllers
  • Serve the frontend app
  • Better error handling
  • Introduce caching
  • Make jackson work with kotlin data classes
  • Use an async http client