Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Requirements

User Stories

Some things may be out of scope, we can still collect them here, to have an overview and include some of them in the design process.

User stands for the user of the LibreMatch API.

As a/anI want to…So that..
userhave a stable APII can rely on it
userrequest win data of the gamesI can easily determine the outcome of a match
statisticianrequest database dumps for a time periodI can easily analyse a big amount of data without firing thousands of requests
authenticated tournament organizerdelay matches showing up for a limited amount of timeI can take care that people are not being spoiled
userbe able to get live updates about ongoing gamesI can update my e.g. overlay immediately when a match starts
userbe able to log in with my Steam accountI can create lobbies from outside the game
userbe able to query for matches of a player since a timestampI can update a list of matches of a certain user more easily
userbe able to quickly start using the APII am not spending much time reading the documentation or spend time implementing a client to use it
userbe able to get all matches by a player from different games at onceI don’t need to make several requests
userbe notified of match state updates of all matches or a subsetI don’t have to keep polling for updates and deriving state updates myself
userget notified when changes are made to a lobbyI can update my lobby tables and reduce the amount of requests
recorded matches analyserget notified when a new replay becomes available (e.g. in a leaderboard/from a player)I can download and parse it in a timely fashion
userembed a player report function in my pagepeople can report suspicious activity (e.g. spoofing) to the official franchise
userbe flexible in the usage of the APII can take different approaches to find solutions to my problems
usernot over boarded with complexity to use the APII can start out right away without reading much documentation (reasonable defaults)
userbe able to query match history for a player by either steam ID or another unique IDcan use the information for calculating statistics, building user facing APIs (eg. !match), build more complicated applications on top of the API
userbe able to query information on open/ongoing lobbiescan use the information for creating rich presence plugins
userbe able to query commonly used api strings (for maps, civs, etc.)can map enum values for maps, civs that are returned by the usual API to names (the api could provide multiple localisations depending on a parameter)
userbe able to access typescript type interfaces for api responsescan easily incorporate the API in typescript applications
userbe able to query the data of a match that is being cast by a castercan use it creating a bot to easily modify a casters’ stream title with one-click
userbe able to query the data of a match that is being cast by a castercan compile a list of matches cast by a caster during one stream