Commit Graph

63 Commits

Author SHA256 Message Date
Claude Dev
dc998b4d7c Add account settings page and admin analytics dashboard
Phase 4 (Customer Dashboard):
- Build tabbed account settings page (Account, Security, Billing tabs)
- Account tab: profile info, address, company fields with useForm()
- Security tab: password change, 2FA management, device sessions
- Billing tab: payment methods link, billing address, tax ID
- Create UpdateProfileRequest and UpdatePasswordRequest validators
- Expand ProfileController with update, updatePassword, updateBilling

Phase 5 (Admin Panel):
- Build rich admin analytics dashboard with 14 data points
- Stats: total customers, MRR, active services, pending invoices
- Recent subscriptions and invoices tables with customer info
- Popular plans with subscriber counts
- Revenue by service type breakdown
- Quick stats: monthly revenue, new customers, overdue accounts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 10:25:41 -05:00
Claude Dev
33e86a32a8 Add customer dashboard, provisioning services, and legal pages
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>
2026-02-09 10:21:25 -05:00
Claude Dev
ec8f0272ec Migrate frontend to Vuetify/Vuexy + add real WHMCS product data
- Migrate all frontend from plain JS/Tailwind to TypeScript/Vuetify 3 (Vuexy design system)
- Replace placeholder plans with 25 real products scraped from WHMCS:
  9 VPS plans ($4.20-$30/mo), 8 dedicated servers ($44.39-$107.99/mo),
  4 web hosting plans ($2.39-$15.99/mo), 4 MySQL hosting plans ($6-$30/mo)
- Fix Pricing page: correct field mapping (service_type, price), display
  feature values instead of keys, proper price formatting
- Update all marketing pages (Home, Products, VPS, Dedicated, Web Hosting)
  with real specs, pricing, and features from production WHMCS
- Add 38 Vuexy @core SCSS override files for component styling
- Create 4 layouts (Account, Admin, Auth, Marketing) with Vuetify
- Add AppTextField/AppSelect/AppTextarea wrapper components
- Purple primary theme (#7367F0), dark mode default
- 52 tests passing, build clean

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 10:16:41 -05:00
Claude Dev
0fe4e4ab42 Add phase tracking, TypeScript requirement, and Vuexy theme reference docs
Update CLAUDE.md with mandatory phase tracking rules (GitHub issues + TASKS.md),
TypeScript requirement for all frontend code, Vuexy theme reference, and updated
project structure reflecting Phase 1-2 completion. Add comprehensive CLAUDE.md
to Vuexy theme directory documenting components, patterns, and conventions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 08:00:28 -05:00
14df9fde60 vuexy-theme-v10.11.1 2026-02-09 06:43:44 -06:00
Claude Dev
a86324c8cc Update TASKS.md to reflect Phase 1 and Phase 2 completion
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>
2026-02-09 07:36:23 -05:00
Claude Dev
67ea1ef22a Switch entire UI to dark mode by default
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>
2026-02-09 07:24:23 -05:00
Claude Dev
b1e080d70c Implement Phase 2: Billing & Subscriptions
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>
2026-02-09 07:18:48 -05:00
Claude Dev
5988c6d064 Fix redirect loop on session expiry and add missing nav links
- 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>
2026-02-09 02:55:48 -05:00
Claude Dev
26704f9721 Implement Phase 1: Foundation & Core Setup
Complete foundation for the EZSCALE billing platform replacing WHMCS:

- Install Composer deps (Fortify, Passport, Cashier, PayPal, Spatie Permissions, Inertia)
- Install Vue 3 + Inertia.js with Vite, 3 layouts (App, Auth, Admin)
- Configure subdomain routing (marketing, account, admin) with domain-based route files
- Create 30 database migrations (15 custom tables + package defaults)
- Create 14 Eloquent models with relationships, factories, and encrypted casts
- Set up Fortify auth with 7 Vue pages (Login, Register, ForgotPassword, ResetPassword, VerifyEmail, ConfirmPassword, TwoFactorChallenge)
- Add 2FA TOTP setup page with QR code and recovery codes
- Configure middleware (Inertia, Spatie roles/permissions, EnsureUserNotSuspended)
- Create seeders for roles/permissions, sample plans, and admin user
- Build dashboard controllers and Vue pages for customer and admin panels
- Add 4 shared Vue components (Card, Button, NavLink, FlashMessages)
- Generate Passport OAuth2 keys for future SSO/API use
- Write 24 Pest tests (auth, role-based access, models) — all passing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 02:50:46 -05:00
Claude Dev
cf7669f270 Updated 2026-02-09 01:49:02 -05:00
Claude EZSCALE
133bc56bfb Base Laravel 2026-02-09 01:20:27 -05:00
Claude EZSCALE
052f651ee1 Init Commit 2026-02-09 01:05:29 -05:00