How rosteleset/sesameportal works
SesamePortal is a PHP web portal for administering SesameDVR installations and viewing camera streams. The main workflow routes a user's request through the application, authenticates it, and serves an administration or viewer experience; camera configuration can then be synchronized with a DVR, while viewer pages use DVR-backed preview, playback, map, and wall capabilities. The graph reflects the documented product capabilities, but several feature connections are based on the README and tree because their implementation was not sampled.
Main entry points: App.php Request router · Pages Admin pages · DB.php Portal database · Repo.php Data repository
Components 20
Web application
- Web entry
public/index.php - Request router
app/App.php - Authentication
app/Auth.php
Administration
- Admin pages
app/Pages - Admin APIs
app/Api - Audit log
app/Audit.php - Portal settings
app/PortalSettings.php - Portal updates
app/PortalUpdateService.php
Camera viewing
- List and player
app/Pages/ViewerPages.php - Camera map
app/Pages/MapPages.php - Saved video walls
app/VideoWallPages.php - Wall management
app/VideoWalls.php
DVR and maps
- Playback tokens
app/TokenService.php - DVR client
app/DvrClient.php - Map tiles service
app/MapTilesService.php
Portal data
- Portal database
app/DB.php - Data repository
app/Repo.php
Other components
- Portal user
- SesameDVR server
- Google Maps
Connections 33
- Portal user → Web entry: requests pages
- Web entry → Request router: starts application
- Request router → Portal database: migrates storage
- Request router → Authentication: starts session
- Authentication → Portal database: checks identity
- Request router → Admin pages: dispatches admin routes
- Request router → Admin APIs: dispatches API routes
- Request router → List and player: dispatches viewer routes
- Request router → Camera map: dispatches map routes
- Request router → Saved video walls: dispatches wall routes
- Admin pages → Data repository: reads records
- Admin APIs → Portal database: writes records
- Data repository → Portal database: queries records
- Admin pages → DVR client: requests camera sync
- Admin APIs → DVR client: requests camera sync
- DVR client → Data repository: loads camera server
- DVR client → SesameDVR server: manages DVR streams
- List and player → Data repository: loads cameras
- List and player → Playback tokens: obtains playback token
- List and player → SesameDVR server: requests preview playback
- Camera map → Data repository: loads mapped cameras
- Camera map → Map tiles service: requests map tiles
- Map tiles service → Google Maps: fetches map data
- Saved video walls → Wall management: manages saved layouts
- Wall management → Portal database: stores layouts
- Saved video walls → Playback tokens: obtains playback token
- Saved video walls → SesameDVR server: embeds camera playback
- Portal settings → Portal database: stores preferences
- Admin pages → Portal settings: updates portal settings
- Admin pages → Portal updates: checks or runs update
- Portal updates → Portal user: returns update status
- Admin pages → Audit log: records admin actions
- Audit log → Portal database: stores audit events