Missing Admin UIs for Seeded Data
Summary
Several production seeders create data that currently cannot be managed through the admin interface. Following the "seed once, manage in app" principle, we need admin UIs for:
Missing Admin UIs
1. Support Plans (SupportPlanSeeder)
Data: Support/maintenance plan tiers (Basic, Standard, Premium, Enterprise, etc.)
Current state: Plans are referenced in server/website details and dashboard widgets, but there's no way to add, edit, or remove plans
Needed: Admin UI under Settings to manage support plans (name, description, price)
2. Software Types & Software (SoftwareTypeSeeder)
Data: Software categories (CMS, Server, Database, etc.) and specific software (WordPress, Laravel, MySQL, etc.)
Current state: Software types/versions appear in server/website dropdowns but can't be managed
Needed: Admin UI under Settings to manage:
- Software types (categories)
- Software entries per type (name, version)
3. Web Hosts (WebHostSeeder)
Data: Hosting providers (DigitalOcean, AWS, WP Engine, etc.)
Current state: Hosts appear in server forms but can't be managed
Needed: Admin UI under Settings to manage hosting providers (name, website URL)
Context
All production seeders now use firstOrCreate to seed data only once. After initial seeding, data should be managed through the admin interface. Without these UIs, staff cannot:
- Add new support plans or adjust pricing
- Add newly supported software versions
- Add new hosting providers
Acceptance Criteria
- [ ] Support Plans management UI (CRUD operations)
- [ ] Software Types & Software management UI (CRUD operations)
- [ ] Web Hosts management UI (CRUD operations)
- [ ] All UIs accessible under Settings menu (staff only)
- [ ] API endpoints for all CRUD operations
Related Files
database/seeders/Production/SupportPlanSeeder.phpdatabase/seeders/Production/SoftwareTypeSeeder.phpdatabase/seeders/Production/WebHostSeeder.phpapp/Models/SupportPlan.phpapp/Models/SoftwareType.phpapp/Models/Software.phpapp/Models/WebHost.php
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗