CS-Coursework/documentation/get_leaderboard.md

1.2 KiB

Leaderboard API Endpoint

GET /api/leaderboard

Returns the highest test data from each user as a JSON array. The data includes metrics such as username, words per minute (WPM), accuracy percentage, the time taken for the test, and the length of the test for a comprehensive overview of user performance.

Request Parameters

  • username: The name of the user.
  • wpm: Words per minute, indicating the typing speed.
  • accuracy: The accuracy of the user's typing, in percentage.
  • test_time: The total time taken to complete the test, in seconds.
  • test_length: The length of the test, typically measured in number of words.

Responses

  • 200 OK: Successfully retrieves the leaderboard data.
  • 404 Not Found: Indicates that the leaderboard was not found.
  • 500 Internal Server Error: Indicates an issue with accessing the database.

Example Request

curl -X GET "https://url/api/leaderboard"

Example Response

[
  {
    "username": "user1",
    "wpm": 75,
    "accuracy": 97,
    "test_time": 120,
    "test_length": 250
  },
  {
    "username": "user2",
    "wpm": 73,
    "accuracy": 95,
    "test_time": 115,
    "test_length": 240
  }
]