SETUP THIS USE CASE:
/api/dev/createSystemAdmin
/api/pro/create
Dr. Smith
Dr. Brown
/api/lobby/create
Dr. Smith & Dr. Brown's Office
smith-brown-inc
/api/lobbyPro/create
// create two records, one for each doctor for the above lobby
=================================================================
STRANGER EXPERIENCE PART 1:
stranger goes to:
speedrelay.com/smith-brown-inc
// IMMEDIATELY CALLS: /api/session/createStrangerSession -> gets a sessionKey as stranger.
Welcome to Dr. Smith & Dr. Brown's Office!
Please check in, stranger.
[name]
[dob]
[SUBMIT] -> /api/meeting/createAsStrangerPerformer
{
success: true,
data:
}
----------------------------------------------------------------------------------------
STRANGER EXPERIENCE PART 2:
/meeting-participant/{meetingParticipantUid}
// in laravel, you can get meetingUid...
$meetingParticipant->meeting()->uid
This stranger sees...
Hello, {John}! You are now in a meeting in Dr. Smith & Dr. Brown's Office.
Please make sure your webcame is working. Then, someone should be with you shortly.
----------------------------------------------------------------------------------------
PRO:
At the same time, Dr. Smith & Dr. Brown both got notified by socket that someone has joined.
Dr. Smith decides to jump in. Clicks "JOIN" on the meeting.
/api/meeting/joinMeetingAsPro
meetingUid && his sessionKey -> session on DB...
As soon as there is one meeting_participant.pro where there is a matching lobby_pro, the meeting is off of the QUEUE in the lobby (meeting is no longer waiting).
Dr. Brown sees immediately that this meeting has (2) participants, including 1 pro.
So... he decides to ignore it and wait for someone else to join the queue.
----------------------------------------------------------------------------------------
FOR NOW::: SIDEBAR
Part 1: Queue:
... (SELECT * FROM meeting WHERE meeting_participants DOES NOT CONTAIN ANY pro)
Part 2: My Meetings
... (SELECT * FROM meeting_participant WHERE pro_id = me.pro_id)
Part 3: My Current Meeting
[Video Feed with a LEAVE button]
-or-
Not currently in any meeting.
=======================================================================================