2024-03-22 23:50:10 +00:00
# Leaderboard API Endpoint
2024-03-20 23:58:14 +00:00
2024-03-22 23:50:10 +00:00
## GET `/api/leaderboard`
2024-03-20 17:42:11 +00:00
2024-03-22 23:50:10 +00:00
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.
2024-03-20 17:42:11 +00:00
2024-03-25 09:40:43 +00:00
## 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.
2024-03-22 23:50:10 +00:00
## Responses
2024-03-20 17:42:11 +00:00
2024-03-22 23:50:10 +00:00
- `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.
2024-03-20 17:42:11 +00:00
2024-03-25 09:40:43 +00:00
## Example Request
```bash
curl -X GET "https://url/api/leaderboard"
```
2024-03-22 23:50:10 +00:00
## Example Response
2024-03-20 17:42:11 +00:00
```json
[
2024-03-22 23:50:10 +00:00
{
"username": "user1",
"wpm": 75,
"accuracy": 97,
"test_time": 120,
"test_length": 250
},
{
"username": "user2",
"wpm": 73,
"accuracy": 95,
"test_time": 115,
"test_length": 240
}
2024-03-20 17:42:11 +00:00
]
2024-03-22 23:50:10 +00:00
```