Use BoardQ documentation for integrating score keeping with your app
BoardQ is a dynamic tool designed to elegantly showcase real-time results in your selected way. Whether you're integrating game scores or manually adding individual results BoardQ designed to look clear and sharp on every screen.
Features
Create & Display Custom Scoreboards
BoardQ simplifies the process of creating and displaying scoreboards for any occasion. Whether it's for a sport competitions, classroom achievements, or events, our tool lets you choose a design and add scores remotely.
Live Updates
As scores change, BoardQ instantly refreshes, ensuring viewers always see the most recent results. Turn every score update into a moment of intrigue and celebration.
Multiple Screens
BoardQ seamlessly broadcasts scores in real-time across multiple screens, ensuring synchronized displays for all viewers, no matter where they're watching.
API Integration
Seamlessly display scores from diverse sources such as gaming platforms, sports tracking systems, and educational quizzes, ensuring real-time consistency no matter the application. Generate API key in leaderboard settings section.
QR Integration
Display QR code next to your leaderboard in order to navigate mobile users to your online activity or companies personal page. Generate QR code in leaderboard settings section.
Board insertion to your web page
Just with a few lines of code you can grab created leaderboard and add it to your personal or business web page. Find your board code snippet under created board settings.
Key Concepts
displayTitle
| title of the result which will be displayed in the screen. Usually it is a participant name or number.additionalInfo
| not visible info in the screen. Usually it is used write down a participant data like email or phone number. It is possible to see that data when you click on scoreboard result or when you export the data. points
| for the points scoreboard you have to use points value. ms
| stands for milliseconds. ms value is used in time scoreboard. You have to send ms value and that ms will be transformed to targeted time value which is set in time scoreboard setting, for example if you want to display time scores in hours then: 7950000ms --> 2h 12min 30secapikey
| key which is needed to interact with BoardQ API. This key should be sended though headers.API
Using BoardQ API
You are able to integrate BoardQ in your app in order to display scores on a large screens or just in a pretty way. In order to use BoardQ API you have to generate an API key which will let your app interact with BoardQ API.
Generating API key
In order to generate an API key you have to become a premium member. To generate key you have to go to targeted scoreboard, open settings and find API section and press on "Generate API key" button.
Make sure you are not wasting API generation on unnecessary scoreboards because from the premium account you can only have 2 scoreboards with API key. In order to make a new scoreboard with API key you have to delete one of 2 existing scoreboards with generated api key. For ability to have more than 2 api keys please write us the letter on "contact us" section.
https://bq-server.onrender.com/api/
POST /result/:scoreboardId
Endpoint dedicated to add new result to the targeted time or points scoreboard.
URL:
:scoreboardId
(required)BODY:
displayTitle
(required)additionalInfo
points OR ms
(required)HEADERS:
apikey
(required)const url = 'https://bq-server.onrender.com/api/result/SCOREBOARD_ID';const apiKey = API_KEY
const data = {displayTitle: "John Doe",additionalInfo: "johndoe@example.com",points: 120};
fetch(url, {method: 'POST',headers: {'Content-Type': 'application/json','apikey': apiKey},body: JSON.stringify(data)}).then(response => response.json()).then(data => console.log(data)).catch(error => console.error('Error:', error));
GET /results/:scoreboardId
Endpoint dedicated to get all results from targeted scoreboard.
URL:
:scoreboardId
(required)HEADERS:
apikey
(required)const url = 'https://bq-server.onrender.com/api/result/SCOREBOARD_ID';const apiKey = API_KEY
fetch(url, {method: 'GET',headers: {'Content-Type': 'application/json','apikey': apiKey}}).then(response => response.json()).then(data => console.log(data)).catch(error => console.error('Error:', error));
GET /results/:scoreboardId/:resultId
Endpoint dedicated to get specific result from targeted scoreboard.
URL:
:scoreboardId
(required):resultId
(required)HEADERS:
apikey
(required)const url = 'https://bq-server.onrender.com/api/result/SCOREBOARD_ID/RESULT_ID';const apiKey = API_KEY
fetch(url, {method: 'GET',headers: {'Content-Type': 'application/json','apikey': apiKey}}).then(response => response.json()).then(data => console.log(data)).catch(error => console.error('Error:', error));
PUT /result/:scoreboardId/:resultId
Endpoint dedicated to add new result to the targeted time or points scoreboard.
URL:
:scoreboardId
(required):resultId
(required)BODY:
displayTitle
additionalInfo
points OR ms
HEADERS:
apikey
(required)const url = 'https://bq-server.onrender.com/api/result/SCOREBOARD_ID/RESULT_ID';const apiKey = API_KEY
const data = {displayTitle: "John Doe",additionalInfo: "johndoe@example.com",points: 120};
fetch(url, {method: 'PUT',headers: {'Content-Type': 'application/json','apikey': apiKey},body: JSON.stringify(data)}).then(response => response.json()).then(data => console.log(data)).catch(error => console.error('Error:', error));
DELETE /results/:scoreboardId/:resultId
Endpoint dedicated to delete specific result from targeted scoreboard.
URL:
:scoreboardId
(required):resultId
(required)HEADERS:
apikey
(required)const url = 'https://bq-server.onrender.com/api/result/SCOREBOARD_ID/RESULT_ID'; const apiKey = API_KEY;
fetch(url, {method: 'DELETE',headers: {'Content-Type': 'application/json','apikey': apiKey}}).then(response => response.json()).then(data => console.log(data)).catch(error => console.error('Error:', error));
Settings
Adding custom CSS styles
You are able to add your custom CSS styles that is suitable for your needs. Inspect custom HTML element class on the board screen and add styles to that class.
Example: