Prompt file imported from anisAronno/laravel-vue-dashbaord (
.github/prompts/backup.prompt.md). Copyright stays with the author.
Here's the simplified GitHub Copilot prompt:
Create a backup & restore system for Laravel 12 with Inertia.js, Vue 3, TypeScript, Tailwind CSS (dark mode) using TDD approach:
REMINDER: This project runs with Docker - use existing Docker setup and default settings.
CORE FEATURES:
- Backup: Application files and database separately
- Restore: Restore from previous backups
- Manual and scheduled operations
- Queue-based processing
ROLES & PERMISSIONS (Include in Seeders):
- Permissions: backup.create, backup.view, backup.download, backup.delete, backup.restore
BACKEND (TDD First):
Models:
- Backup: id, name, type(app/db), size, path, created_at, user_id
Jobs (Queued):
- CreateAppBackupJob, CreateDbBackupJob, RestoreBackupJob, CleanupBackupsJob
API Routes:
- POST /api/backups (create)
- GET /api/backups (list)
- POST /api/backups/{id}/restore (restore)
- DELETE /api/backups/{id} (delete)
- GET /api/backups/{id}/download (download)
FRONTEND:
- BackupDashboard.vue: Overview and controls
- BackupList.vue: Table with restore/download actions
- Real-time progress updates
SECURITY:
- Private storage with signed download URLs
- Role-based access control
- Input validation and rate limiting
STORAGE:
- Use existing default storage configuration
- Compressed backups with integrity checks
- Auto-cleanup (30 days default)
SEEDERS:
- Create roles and permissions
- Create settings seeders
Keep simple, clean, and follow existing project patterns.