How johnmarkbanquil/banquill works
This Laravel/Inertia application manages artists, their music tracks, and stream-based royalty payouts, with account authentication and profile settings. The primary workflow is to maintain an artist catalog, associate tracks with artists, and record payouts whose earnings and commission are calculated by a service. Controllers return Inertia pages and handle domain operations; React pages provide the interface. The README is empty, so capability coverage comes from the source tree and sampled controllers. Unsampled route wiring and frontend interactions are omitted where evidence is unavailable.
Main entry points: RoyaltyPayoutController.php Payout Management · MusicTrackController.php Track Management · DashboardController.php Dashboard · auth.php Authentication Routes
Components 28
Accounts and Settings
- User
app/Models/User.php - Authentication Routes
routes/auth.php - Registration
app/Http/Controllers/Auth/RegisteredUserController.php - Login Sessions
app/Http/Controllers/Auth/AuthenticatedSessionController.php - Email Verification
app/Http/Controllers/Auth/VerifyEmailController.php - Login Validation
app/Http/Requests/Auth/LoginRequest.php - Profile Settings
app/Http/Controllers/Settings/ProfileController.php - Profile Validation
app/Http/Requests/Settings/ProfileUpdateRequest.php
Artist and Track Catalog
- Artist Records
app/Models/Artist.php - Artist Service
app/services/ArtistService.php - Artist Management
app/Http/Controllers/ArtistController.php - Music Tracks
app/Models/MusicTrack.php - Track Service
app/services/MusicTrackService.php - Track Management
app/Http/Controllers/MusicTrackController.php - Track Validation
app/Http/Requests/MusicTrackRequest.php
Royalty Payouts
- Royalty Payouts
app/Models/RoyaltyPayout.php - Payout Calculation
app/services/RoyaltyPayoutService.php - Payout Management
app/Http/Controllers/RoyaltyPayoutController.php - Payout Validation
app/Http/Requests/StoreRoyaltyPayoutRequest.php - Payout Update Validation
app/Http/Requests/UpdateRoyaltyPayoutRequest.php
Inertia and React UI
- Dashboard
app/Http/Controllers/DashboardController.php - Inertia Middleware
app/Http/Middleware/HandleInertiaRequests.php - Track Pages
resources/js/pages/MusicTracks - Artist Pages
resources/js/pages/Artists - Payout Pages
resources/js/pages/RoyaltyPayouts - Dashboard Page
resources/js/pages/dashboard.tsx - React App Entry
resources/js/app.tsx
Other components
- User
Connections 25
- User → Authentication Routes: starts auth
routes/auth.php - Authentication Routes → Registration: routes registration
routes/auth.php - Authentication Routes → Login Sessions: routes login
routes/auth.php - Authentication Routes → Email Verification: routes verification
routes/auth.php - Registration → User: creates account
app/Http/Controllers/Auth/RegisteredUserController.php - Login Sessions → Login Validation: uses validation
app/Http/Controllers/Auth/AuthenticatedSessionController.php - Profile Settings → Profile Validation: accepts validated input
app/Http/Controllers/Settings/ProfileController.php - Artist Service → Artist Records: uses model
app/services/ArtistService.php - Artist Management → Artist Records: reads and writes
app/Http/Controllers/ArtistController.php - Track Service → Music Tracks: uses model
app/services/MusicTrackService.php - Track Management → Music Tracks: reads and writes
app/Http/Controllers/MusicTrackController.php - Track Management → Artist Records: loads artist choices
app/Http/Controllers/MusicTrackController.php - Track Management → Track Pages: renders pages
app/Http/Controllers/MusicTrackController.php - Track Management → Track Validation: validates input
- Payout Management → Payout Calculation: delegates payout saves
app/Http/Controllers/RoyaltyPayoutController.php - Payout Management → Royalty Payouts: reads payout records
app/Http/Controllers/RoyaltyPayoutController.php - Payout Management → Music Tracks: uses track records
app/Http/Controllers/RoyaltyPayoutController.php - Payout Management → Payout Validation: accepts validated input
app/Http/Controllers/RoyaltyPayoutController.php - Payout Management → Payout Update Validation: accepts validated input
app/Http/Controllers/RoyaltyPayoutController.php - Payout Calculation → Royalty Payouts: calculates and saves
app/services/RoyaltyPayoutService.php - Dashboard → Artist Records: reads records
app/Http/Controllers/DashboardController.php - Dashboard → Music Tracks: reads records
app/Http/Controllers/DashboardController.php - Dashboard → Royalty Payouts: reads records
app/Http/Controllers/DashboardController.php - Dashboard → Dashboard Page: renders page
- React App Entry → Inertia Middleware: receives shared props