How adarshigx99/sandbox works
Sandbox lets visitors or administrators provision temporary WordPress sites, then exposes site details and manages their eventual deletion. The main path selects a connected server, requests deployment, records the site, and can configure DNS/SSL and send creation mail. Admin workflows also manage servers and settings; scheduled commands handle expiration and deletion reminders. The README documents SSL, configurable expiry, and public credential pages; those capabilities are represented where the tree supports them. Some controller and service wiring is based on partial excerpts or README descriptions.
Main entry points: SiteController.php Site controller · SettingsController.php Settings controller · ServerAvatarService.php ServerAvatar service · ServerManagementController.php Server management
Components 26
Site provisioning
- Web routes
routes/web.php - Site controller
app/Http/Controllers/SiteController.php - Sites
app/Models/Site.php - Selected servers
app/Models/SelectedServer.php - ServerAvatar service
app/Services/ServerAvatarService.php - Cloudflare service
app/Services/CloudflareService.php - Public site page
resources/views/sites/public/show.blade.php - Creation email
app/Mail/SiteCreated.php
Administration
- Settings service
app/Services/SystemSettingsService.php - System settings
app/Models/SystemSetting.php - Settings controller
app/Http/Controllers/Admin/SettingsController.php - Server management
app/Http/Controllers/ServerManagementController.php - Admin dashboard
app/Http/Controllers/AdminController.php - Admin views
resources/views/admin/dashboard.blade.php
Site lifecycle
- Expiration cleanup
app/Console/Commands/DeleteExpiredSites.php - Deletion reminders
app/Console/Commands/SendDeletionNotifications.php - Reminder email
app/Mail/SiteDeletionNotification.php
Accounts and access
- Auth routes
routes/auth.php - Registration
app/Http/Controllers/Auth/RegisteredUserController.php - Users
app/Models/User.php - Login
app/Http/Controllers/Auth/AuthenticatedSessionController.php
Other components
- Visitor
- Administrator
- ServerAvatar
- Cloudflare
- SMTP mail
Connections 35
- Visitor → Web routes: requests
- Administrator → Web routes: manages sites
- Web routes → Site controller: dispatches
- Site controller → Selected servers: selects server
- Site controller → ServerAvatar service: requests deployment
- ServerAvatar service → ServerAvatar: calls API
- Site controller → Sites: records site
- Site controller → Cloudflare service: manages DNS/SSL
- Cloudflare service → Cloudflare: calls API
- Site controller → Settings service: reads settings
- Settings service → System settings: reads settings
- Site controller → Creation email: sends creation mail
- Creation email → SMTP mail: delivered by
- Site controller → Public site page: renders details
- Administrator → Settings controller: configures
- Settings controller → System settings: updates settings
- Settings controller → Settings service: clears cache
- Settings controller → ServerAvatar service: tests connection
- Settings controller → Cloudflare service: tests connection
- Administrator → Server management: manages servers
- Server management → ServerAvatar service: fetches server
- Server management → Selected servers: updates selection
- Administrator → Admin dashboard: opens dashboard
- Admin dashboard → Admin views: renders dashboard
- Expiration cleanup → Sites: checks expired sites
- Expiration cleanup → ServerAvatar service: deletes deployment
- Deletion reminders → Sites: finds due sites
- Deletion reminders → Reminder email: sends reminders
- Reminder email → SMTP mail: delivered by
- Visitor → Auth routes: requests account
- Auth routes → Registration: dispatches
- Registration → System settings: checks registration setting
- Registration → Users: creates account
- Auth routes → Login: dispatches
- Login → Users: authenticates