How nersus15/kamscode-meet works
Kamscode Meet is a Laravel/Inertia meeting-room application. Users register or sign in, create or join rooms, become participants, and exchange video-call signaling; administration and profile management are separate supporting workflows. The sampled controllers show room persistence and broadcast dispatch, while the tree identifies the Vue call UI and event/channel modules. Their detailed client-side wiring and unsampled route mappings are not asserted.
Main entry points: web.php Web routes · RoomController.php Room workflow · VideoCallController.php Call signaling · app.js Vue application
Components 23
Web entry
- Web routes
routes/web.php - Auth routes
routes/auth.php - Inertia shell
resources/views/app.blade.php
Identity and admin
- Authentication
app/Http/Controllers/Auth/RegisteredUserController.php - Sessions
app/Http/Controllers/Auth/AuthenticatedSessionController.php - Profile management
app/Http/Controllers/ProfileController.php - User administration
app/Http/Controllers/Admin/UserController.php - User records
app/Models/User.php
Rooms and calls
- Room workflow
app/Http/Controllers/RoomController.php - Rooms and participants
app/Models/Room.php - Participant model
app/Models/Participant.php - Call signaling
app/Http/Controllers/VideoCallController.php - Video signal event
app/Events/VideoCallSignal.php - Room-leave event
app/Events/UserLeftRoom.php - Broadcast channels
routes/channels.php
Vue experience
- Vue application
resources/js/app.js - Room pages
resources/js/Pages/Rooms/Show.vue - Video call UI
resources/js/Components/VideoCall.vue - Realtime client
resources/js/echo.js - Auth pages
resources/js/Pages/Auth/Login.vue - Admin pages
resources/js/Pages/Admin/Users/Index.vue
Other components
- User / browser
- Realtime broadcaster
Connections 29
- User / browser → Web routes: sends requests
- User / browser → Auth routes: auth requests
- Web routes → Room workflow: dispatches
- Web routes → Call signaling: dispatches
- Web routes → Profile management: dispatches
- Web routes → User administration: dispatches
- Auth routes → Authentication: dispatches
- Auth routes → Sessions: dispatches
- Authentication → User records: creates user
- Sessions → User records: authenticates
- User administration → User records: manages users
- Profile management → User records: updates profile
- Room workflow → Rooms and participants: reads and writes
- Room workflow → Participant model: creates participant
- Call signaling → Participant model: removes participant
- Call signaling → Video signal event: broadcasts signal
- Call signaling → Room-leave event: broadcasts leave
- Video signal event → Realtime broadcaster: broadcasts
- Room-leave event → Realtime broadcaster: broadcasts
- Broadcast channels → Realtime broadcaster: defines channels
- Room workflow → Inertia shell: renders pages
- Authentication → Inertia shell: renders pages
- Inertia shell → Vue application: mounts
- Vue application → Room pages: resolves page
- Vue application → Auth pages: resolves page
- Vue application → Admin pages: resolves page
- Room pages → Video call UI: uses component
- Video call UI → Realtime client: uses realtime client
- Realtime client → Realtime broadcaster: subscribes