Please enable JavaScript.
Coggle requires JavaScript to display documents.
Karaoke App - Coggle Diagram
Karaoke App
Security Considerations
SQL Injection when submitting to databases
Storing events' geolocation (sensitive)
Unauthorised third-party software making requests to the server (CORS)
Private API keys stored in the code
Users remotely accessing karaoke events
Data
Communication
Tools
Song API
API Key
song data
artist
image
lyrics
title
ID
preview URL
JSON
AJAX helper
Storage
Structure
Events
ID
location
start time
end time
key
unique alphanumeric string generate based on the ID
users use it to join the event
current song index
Users
event ID
username
session token
ID
Song
title
user ID
artist
index in queue
image
lyrics
event ID
image
song preview URL
SQL Database
App
Join Event
Create a Username
Leave Event
search songs
send API request to retrieve list of songs
format JSON response (search results) for user
view lyrics
add song
song adding limit/cooldown
Modify database
view song queue
cancel personally queued songs
view lyrics
play a preview of the song
Check that user is close to event location
Prevent SQL injection
encrypted session token
unique, random token stored with user information
required authentication for user to make requests to the server