Skip to content

Service Contracts

Monika Theiss edited this page Jun 7, 2024 · 10 revisions

RAWG request

A GET request for all the games is sent to the RAWG API to get the game information needed for the game library. This API responds with JSON data containing the information about the games based on the request.

The possible input parameters, depending on what we want to show on the game library, for the request with their types are:

  • page: Integer
  • page_size: Integer
  • search: String
  • genres: String
  • tags: String
  • metacritic: String
  • ordering: String

The output parameters and their types which are returned by the RAWG API are:

  • id: String
  • name: String
  • released: Date
  • background_image: String

#

# function calls the firebase authentication function to create a new user.

Input parameters and their types:

  • email: String
  • password: String
  • username: String

Create default profile

To create a default profile when a new user signs up for GameOnConnect the default values are sent to Firebase, which creates a new profile_data document.The following input parameters and types are used:

  • name: String
  • surname: String
  • age_rating_tags: Empty array of Strings
  • birthday: null
  • genre_interests_tags: Empty array of Strings
  • profile_picture: String
  • social_interests_tags: Empty array of strings
  • theme: String
  • userID: String
  • username: Map< String,dynamic>

Edit profile

When a user edits their profile, all the changed information is captured in a function and this function then updates all these values in the database.

Possible input parameters with their types:

  • usedID: String
  • username: String
  • firstname: String
  • lastname: String
  • bithday: Timestamp
  • visibility: Boolean
  • bio:String

Customize profile

When a user customizes their profile, all the changed information is captured and then updated in the database. No response is given.

Possible input parameters with their types:

  • userID: String
  • genre_interests_tags: Array of Strings
  • age_rating_tags: Array of Strings
  • social_interests_tags: Array of Strings
  • theme: String
  • profile_picture: String

View profile

Sends a request to Firebase with the user's uid as input parameter. This returns all the profile data for the specific user in JSON format.


Return parameters and their types:

  • age_rating_tags: Array of strings
  • birthday: Timestamp
  • genre_interests_tags: Array of strings
  • name: String
  • profile_picture: String
  • social_interests_tags: Array of strings
  • surname: String
  • theme: String
  • userID: String
  • username: Map<String,dynamic>
  • visibility: Boolean