Phase 5 (Admin Panel):
- Audit log viewer: searchable with action/date filters, expandable
rows showing JSON changes, color-coded action chips, user avatars
- System settings: tabbed page (General, API Credentials, Billing,
Notifications) with masked sensitive values, per-group save
- Settings model with get/set/getGroup/setGroup helpers
- Settings migration for key-value store with groups
- 52 tests passing, build clean
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 5 (Admin Panel):
- Admin coupon management: full CRUD with create/edit/deactivate,
auto-generate codes, plan restrictions multi-select, usage tracking,
redemption history on edit page
- Add active flag migration for coupons table
Phase 4 (Customer Dashboard):
- Customer services list page with plan info and status
- Customer service detail page with network info, plan details,
control panel links (VirtFusion/SynergyCP/Enhance), important dates
- Service status/type resolver utilities
Documentation:
- Update TASKS.md with all completed Phase 3/4/5/8 items
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 5 (Admin Panel):
- Customer management: searchable/filterable list, detail view with
tabs (overview/services/billing), suspend/unsuspend actions with
audit logging
- Plan management: full CRUD with create/edit/archive, dynamic
feature key-value editor, service type filters, subscriber counts
- Service management: list with type/status filters, detail view
with provisioning logs, suspend/unsuspend/terminate with
confirmation dialogs
- Invoice management: list with status filters, detail view with
line items and payment transactions, void invoice action
- Admin nav: added Customers, Plans, Services, Invoices links
- 52 tests passing, build clean
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 3 (Provisioning):
- Create ProvisioningServiceInterface abstraction
- Implement VirtFusionService for VPS provisioning via REST API
- Implement SynergyCPService for dedicated server provisioning
- Implement EnhanceService for web hosting provisioning
- Create ProvisioningFactory for service type routing
- Add API config for VirtFusion, SynergyCP, Enhance
Phase 4 (Customer Dashboard):
- Enhance DashboardController with real data (services, subscriptions,
invoices, pending amounts, next renewal)
- Rebuild Dashboard.vue with stats cards, active subscriptions list,
recent invoices table, and quick action buttons
Phase 8 (Marketing):
- Add Terms of Service page with 15 sections
- Add Privacy Policy page (GDPR/CCPA aware)
- Add Acceptable Use Policy page
- Add Service Level Agreement page (99.99% uptime, credit calc)
- 52 tests passing, build clean
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Mark all completed items for Phase 1 (foundation) and Phase 2
(billing & subscriptions). Add remaining Phase 2 items that still
need work (PDF invoices, multi-currency, tax, admin coupon CRUD,
email notifications).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update all 26 Vue files (3 layouts, 4 components, 19 pages) and the
Blade root template to use a dark color scheme: gray-950 backgrounds,
gray-900 cards, gray-800 borders, light text, and adjusted status
badges/flash messages for dark backgrounds.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add complete billing system with Stripe and PayPal gateway support,
checkout flow with coupon validation, subscription management
(cancel/resume/swap), payment method management, invoice and
transaction history, webhook handlers, dunning/suspension system
with scheduled processing, and 29 new tests (53 total passing).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add redirectGuestsTo in bootstrap/app.php so unauthenticated users
always redirect to the full account login URL instead of a relative
/login that would 404 on the admin subdomain or loop
- Create HandleInertiaRequests middleware to share auth.user, flash
messages, and domain config to all Vue pages (was entirely missing)
- Add Profile nav link in AppLayout, "Customer View" link in AdminLayout
- Point logout to account subdomain where Fortify routes live
- Link AuthLayout logo back to marketing site
- Fix Marketing/Home links to use full account subdomain URLs
- Update RoleBasedAccessTest to match new redirect URL
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>