Skip to content

Dan-Tan/RestfulEzreal

Repository files navigation

RESTfulEzreal

I know it doesn't rhyme.

Contents

Goal/Purpose

The goal of this application is to make access to Riot's API increadibly easy for users with programming experience. Aside from providing a simple GUI wrapper for single requests, RESTful Ezreal seeks to implement and will consider providing any feature that makes performing robust data analysis easy. The underlying client handles rate limiting and server errors (riot-cpp).

Advanced data requests whilst maintaining data granularity.

Iterative Linked Requests

In order to retrieve large amounts of match data currently requires one to know how to code and use the plethora of api wrappers available in a multitude of programming languages. However, many individuals are familiar with data analysis without the skill of programming, mostly through the use of excel or other spreadsheet applications.

RESTful Ezreal implements Iterative Linked Requests, whereby a user may construct a larger request that take input from each other to develop a larger database that they may analyse seperately. An example is the following request

  1. Get PUUID (universal ID) using Summoner v4 by name request
  2. Get Match History using PUUID from step 1.
  3. For each Match ID from step 2, send a Match v5 by match id request
  4. For each Match ID from step 2, send a Match v5 timeline request

In the current application this looks like the image below. Currently, the UI is not so user friendly however this is currently a work in progress. The end goal is to develop a UI the allows use without knowledge of specifics of RIOT API data formats.

Iterative Request

Current Progress

Entry Point Config Page API Key tests Iterative Request Simple Requests

Dependencies

Aside from the dependencies already in this project (Walnut, Imgui... All include as git submodules), we require the Vulkan SDK (OS specific) and curl (riot-cpp dependencies). Specifically,

Build Instructions

Currently, the build has only been tested on linux however the project is intended to be able to build on any OS using CMake, raise an issue if the build fails and I can fix.

1. Clone with submodules

git clone https://github.com/Dan-Tan/RestfulEzreal.git --recurse-submodules

2. Build with CMake

mkdir build && cd build
cmake ..
make

2o. Debug Build (optional for dev)

If you are contributing you most likely want to build in Debug mode for Debug symbols. There are also a few debug macros to make debugging easier.

mkdir Debug && cd Debug
cmake .. -DCMAKE_BUILD_TYPE=Debug
make

3. Run Executeable

The executable will be named Restful-Ezreal with different file suffixes depending on the OS you use. For linux, the program can be ran as follows

cd build && ./Restful-Ezreal
# if Debug
cd Debug && ./Restful-Ezreal
# or simply 
cd <insert build dir> && ./Restful-Ezreal

Disclaimer

Restful Ezreal isn't endorsed by Riot Games and doesn't reflect the views or opinions of Riot Games or anyone officially involved in producing or managing Riot Games properties. Riot Games, and all associated properties are trademarks or registered trademarks of Riot Games, Inc.

About

In progress.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published