How seymenkonuk/php-video-platform works
This is a server-rendered video-sharing platform for discovering and watching videos, shorts, and music; managing channels and playlists; and interacting with content. The request path is routed to controllers, which call domain services and return page or component responses. Authenticated users also manage their content through Studio. The graph preserves these distinct product areas and the documented SQL-backed channel repository. Several service implementations and domain flows are unsampled, so their internal links are omitted rather than inferred.
Main entry points: WebRoutes.php Web routes · AuthService.php Authentication · ChannelController.php Channel pages · FeedController.php Feed pages
Components 22
Web requests
- Web routes
routes/WebRoutes.php
Content discovery
- Channel pages
app/Http/Controllers/Channel/ChannelController.php - Feed pages
app/Http/Controllers/FeedController.php - Music interactions
app/Http/Controllers/Music/MusicInteractionController.php
Creator studio
- Studio channels
app/Http/Controllers/Studio/ChannelController.php
Domain and persistence
- Feed service
app/Domain/Services/Concrete/FeedService.php - Channel service
app/Domain/Services/Concrete/ChannelService.php - Studio service
app/Domain/Services/Concrete/StudioService.php - Music service
app/Domain/Services/Concrete/MusicService.php - Authentication
app/Domain/Services/Concrete/AuthService.php - Auth contract
app/Domain/Services/Abstract/IAuthService.php - Studio contract
app/Domain/Services/Abstract/IStudioService.php - Channel repository
app/Domain/Repositories/Sql/ChannelRepository.php - Channel model
app/Domain/Models/Channel.php - User model
app/Domain/Models/User.php - Video model
app/Domain/Models/Video.php - Auth data
app/Support/DTOs/AuthDTO.php
Presentation
- View contexts
app/Support/Factories/ViewContextFactory.php - App layout
app/Views/Layouts/App.php - Auth layout
app/Views/Layouts/Auth.php
Other components
- Visitor
- MySQL
Connections 18
- Visitor → Web routes: requests
routes/WebRoutes.php - Web routes → Channel pages: registers
routes/WebRoutes.php - Web routes → Feed pages: registers
routes/WebRoutes.php - Web routes → Studio channels: registers
routes/WebRoutes.php - Web routes → Music interactions: registers
routes/WebRoutes.php - Channel pages → Channel service: calls
app/Http/Controllers/Channel/ChannelController.php - Feed pages → Feed service: calls
app/Http/Controllers/FeedController.php - Studio channels → Studio service: calls
app/Http/Controllers/Studio/ChannelController.php - Music interactions → Music service: calls
app/Http/Controllers/Music/MusicInteractionController.php - Music interactions → Authentication: gets auth
app/Http/Controllers/Music/MusicInteractionController.php - Channel pages → Authentication: gets auth
app/Http/Controllers/Channel/ChannelController.php - Feed pages → Authentication: gets auth
app/Http/Controllers/FeedController.php - Studio channels → Authentication: gets auth
app/Http/Controllers/Studio/ChannelController.php - Authentication → Auth contract: implements
app/Domain/Services/Concrete/AuthService.php - Studio service → Studio contract: implements
app/Domain/Services/Concrete/StudioService.php - Channel repository → Channel model: uses model
app/Domain/Repositories/Sql/ChannelRepository.php - Channel repository → MySQL: queries
- View contexts → App layout: supplies context
app/Support/Factories/ViewContextFactory.php