Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| librematch:design:backend:requirements [2022-10-27 22:51] – removed - external edit (Unknown date) 127.0.0.1 | librematch:design:backend:requirements [2022-11-04 20:15] (current) – nimda | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== 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 // | ||
| + | |||
| + | ^As a/an ^I want to... ^So that.. ^ | ||
| + | | user | have a stable API | I can rely on it | | ||
| + | | user | request win data of the games | I can easily determine the outcome of a match | | ||
| + | | statistician | request database dumps for a time period | I can easily analyse a big amount of data without firing thousands of requests | | ||
| + | | authenticated tournament organizer| delay matches showing up for a limited amount of time | I can take care that people are not being spoiled | | ||
| + | | user | be able to get live updates about ongoing games | I can update my e.g. overlay immediately when a match starts | | ||
| + | | user | be able to log in with my Steam account | I can create lobbies from outside the game | | ||
| + | | user | be able to query for matches of a player since a timestamp | I can update a list of matches of a certain user more easily | | ||
| + | | user | be able to quickly start using the API | I am not spending much time reading the documentation or spend time implementing a client to use it | | ||
| + | | user | be able to get all matches by a player from different games at once | I don't need to make several requests | | ||
| + | | user | be notified of match state updates of all matches or a subset | I don't have to keep polling for updates and deriving state updates myself | | ||
| + | | user | get notified when changes are made to a lobby | I can update my lobby tables and reduce the amount of requests | | ||
| + | | recorded matches analyser | get notified when a new replay becomes available (e.g. in a leaderboard/ | ||
| + | | user | embed a player report function in my page | people can report suspicious activity (e.g. spoofing) to the official franchise | | ||
| + | | user | be flexible in the usage of the API | I can take different approaches to find solutions to my problems | | ||
| + | | user | not over boarded with complexity to use the API | I can start out right away without reading much documentation (reasonable defaults) | | ||
| + | | user | be able to query match history for a player by either steam ID or another unique ID | can use the information for calculating statistics, building user facing APIs (eg. !match), build more complicated applications on top of the API | | ||
| + | | user | be able to query information on open/ | ||
| + | | user | be 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) | | ||
| + | | user | be able to access typescript type interfaces for api responses | can easily incorporate the API in typescript applications | | ||
| + | | user | be able to query the data of a match that is being cast by a caster | can use it creating a bot to easily modify a casters' | ||
| + | | user | be able to query the data of a match that is being cast by a caster | can compile a list of matches cast by a caster during one stream | | ||