|
@@ -0,0 +1,135 @@
|
|
|
+
|
|
|
+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.
|
|
|
+
|
|
|
+ <input type="hidden" name="lobbyUid" value="..."/>
|
|
|
+ [name]
|
|
|
+ [dob]
|
|
|
+ [SUBMIT] -> /api/meeting/createAsStrangerPerformer
|
|
|
+
|
|
|
+ {
|
|
|
+ success: true,
|
|
|
+ data: <meetingParticipantUid>
|
|
|
+ }
|
|
|
+
|
|
|
+----------------------------------------------------------------------------------------
|
|
|
+
|
|
|
+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-
|
|
|
+
|
|
|
+ <i>Not currently in any meeting.</i>
|
|
|
+
|
|
|
+=======================================================================================
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|