Go to file
Claude Dev 9a12deeed3 Fix theme switcher persistence and hardcoded dark colors in SCSS
- ThemeSwitcher: save user's theme choice to localStorage and restore on mount
- Vuetify plugin: check localStorage before falling back to subdomain default
- _layouts.scss: make navbar and footer theme-aware using CSS custom properties
  (sidebar intentionally stays always-dark per design spec)
- _marketing.scss: make glass-card and hero-gradient-text theme-aware

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 17:24:51 -04:00
2026-02-09 01:05:29 -05:00
2026-02-09 01:05:29 -05:00
2026-02-09 01:49:02 -05:00
2026-02-09 01:05:29 -05:00
2026-02-09 01:49:02 -05:00
2026-02-09 01:49:02 -05:00

EZSCALE Billing Platform

Modern Laravel 12 billing and customer management platform replacing WHMCS for EZSCALE Hosting.

Repository

  • GitHub: git@github.com:EZSCALE/accounting.git
  • Branch Strategy: Feature branches → developmain

Documentation Files

File Purpose Lines
CLAUDE.md Project instructions for AI assistance ~80
PROJECT_DEVELOPMENT.md Complete architecture & development plan ~600
TASKS.md Detailed task breakdown (13 phases) ~400
FEATURES.md Feature specifications (35+ features) ~1000
KASM_AND_MULTITENANCY.md Kasm Workspaces + Multi-Tenancy implementation ~600
GETTING_STARTED.md Development setup guide ~300
ADVANCED_FEATURES.md Advanced feature specifications (28 features) ~1400
IDEAS.md Future feature ideas and exploration topics ~500
README.md This file - project overview -
website/ Laravel 12 base installation -

Quick Overview

What We're Building

A comprehensive billing and service management platform for EZSCALE Hosting that handles:

  • Services: VPS, Dedicated Servers, Web Hosting, Game Servers, Kasm Workspaces
  • Billing: Stripe + PayPal + Crypto with multi-currency support
  • Provisioning: Fully automated via VirtFusion, Pterodactyl, SynergyCP, Enhance APIs
  • Monitoring: ElastiFlow bandwidth tracking, uptime monitoring, status page
  • Support: Deep SupportPal integration with SSO
  • Admin: Comprehensive analytics, MRR/ARR/churn tracking, full customer control

Tech Stack

  • Framework: Laravel 12 (PHP 8.2+)
  • Frontend: Vue 3 + Inertia.js + Tailwind CSS
  • UI Theme: Vuexy VueJS + Laravel Admin Dashboard Template
  • Database: MySQL 8.x (multi-region replication, 15-min backups)
  • Cache/Queue: Redis + Laravel Horizon
  • Payments: Laravel Cashier Stripe v16 + srmklive/laravel-paypal
  • Auth: Laravel Fortify + Passport (OAuth2/SSO)
  • Email: Mailgun or SendGrid
  • Monitoring: ElastiFlow (NetFlow/sFlow), built-in uptime checks
  • CI/CD: GitHub Actions with staging environment
  • Security: Cloudflare Zero Trust + 2FA/passkeys

Domains

  • ezscale.cloud — Marketing site, product catalog, public pages
  • account.ezscale.cloud — Customer dashboard, service management
  • admin.ezscale.cloud — Admin panel (Cloudflare Zero Trust protected)
  • status.ezscale.cloud — Public status page

Key Features

  • Fully automated provisioning (VPS, Dedicated, Hosting, Game Servers)
  • Multi-currency billing (USD, EUR, GBP, etc.)
  • Advanced coupon system (stackable, geo-restricted, A/B testing)
  • Automatic loyalty rewards (5-20% based on tenure)
  • Self-service upgrades/downgrades with proration
  • Bandwidth monitoring with auto-billing overages
  • Team accounts with granular permissions
  • Referral credit system
  • Free trial support
  • Comprehensive API with webhooks
  • Built-in abuse management system
  • Fraud detection and prevention
  • Customer custom domains (CNAME support)
  • Cryptocurrency payment support
  • Exit surveys and win-back campaigns
  • Real-time dashboard (WebSockets + polling)
  • Multi-channel admin alerts (Discord, Email, SMS)
  • GDPR-compliant data deletion
  • Full audit trail and login history
  • Unified communication timeline

Current Status: Base Install Complete

The Laravel 12 base installation exists in the website/ directory. Planning and documentation is complete. No additional packages or customizations have been added yet.

Planning Complete ✓

  • Infrastructure architecture designed
  • Database schema defined
  • All integrations documented (6 external APIs)
  • Feature specifications written (35+ features)
  • Development phases outlined (11 phases)
  • Task breakdown completed (200+ tasks)
  • Security architecture defined
  • WHMCS migration strategy planned
  • Laravel 12 base install created (website/)

Next Steps

  1. Install core dependencies (Cashier, Fortify, Passport, PayPal, Spatie)
  2. Configure environment and database
  3. Create database schema and migrations
  4. Begin Phase 1: Foundation (auth, database, core setup)

Development Phases

Phase Focus Status
Phase 1 Foundation & Core Setup Planned
Phase 2 Billing & Subscriptions Planned
Phase 3 Provisioning Automation Planned
Phase 4 Customer Dashboard Planned
Phase 5 Admin Panel Planned
Phase 6 Bandwidth Monitoring & Billing Planned
Phase 7 SupportPal Integration Planned
Phase 8 Marketing Frontend Planned
Phase 9 RESTful API Planned
Phase 10 Testing, Migration & Launch Planned
Phase 11 Future Enhancements Backlog
Phase 12 Kasm Workspaces Integration Planned
Phase 13 Multi-Tenancy (Resellers) Planned

Infrastructure Integration

Service Provisioning

Platform Service Type API Automation
VirtFusion VPS REST API Fully automated
Pterodactyl Game Servers REST API Fully automated
SynergyCP Dedicated Servers REST API Automated (semi-auto for inventory)
Enhance Web Hosting REST API Fully automated

Support & Monitoring

System Purpose Integration
SupportPal Ticketing SSO + Full API integration
ElastiFlow Bandwidth Monitoring API queries for usage data
Juniper Switches Network NetFlow/sFlow exports

Payment Gateways

Gateway Usage Integration
Stripe Primary (~80%) Laravel Cashier v16
PayPal Secondary (~20%) srmklive/laravel-paypal
Crypto Optional Coinbase Commerce

Database Overview

Core Tables

  • Users & Auth: users, user_profiles, roles, permissions, audit_logs, login_history
  • Billing: plans, subscriptions, invoices, payment_transactions, coupons, account_credits
  • Services: services, provisioning_logs, bandwidth_usage, backups
  • Support: support_tickets (mirrored), announcements
  • Team: team_members, team_invitations
  • Monitoring: uptime_checks, uptime_incidents, status_components
  • Abuse: abuse_reports, abuse_actions
  • Communication: customer_timeline, webhook_deliveries
  • Network: ip_addresses, datacenters

See PROJECT_DEVELOPMENT.md for complete schema with all columns.

WHMCS Migration

Scope

  • Full historical data migration (100-1000 customers)
  • All invoices, payments, services, subscriptions
  • Automated migration scripts (Laravel commands)
  • 30-day parallel operation period
  • Redirect old WHMCS URLs to new platform

Migration Commands

Run from the website/ directory:

cd website
php artisan migrate:whmcs-customers       # Import customers and profiles
php artisan migrate:whmcs-subscriptions   # Import active subscriptions
php artisan migrate:whmcs-invoices        # Import invoice history
php artisan migrate:whmcs-payments        # Import payment history
php artisan migrate:whmcs-services        # Import service configurations
php artisan migrate:whmcs-tickets         # Migrate tickets to SupportPal

Security

Authentication

  • Customer: Email + password, optional 2FA (TOTP/passkeys)
  • Admin: Email + password + required 2FA (passkeys preferred)
  • Admin Panel: Behind Cloudflare Zero Trust access control
  • API: Laravel Sanctum token authentication

Data Protection

  • Service credentials encrypted at rest
  • HTTPS enforced everywhere
  • CSRF protection on all forms
  • Rate limiting on auth and API
  • SQL injection prevention (Eloquent ORM)
  • XSS prevention (Blade/Vue escaping + CSP)

Compliance

  • GDPR-compliant automated data deletion
  • Full audit trail of admin actions
  • Login history with IP tracking
  • Fraud detection on signup
  • Abuse management system

Performance & Scalability

Caching Strategy

  • Real-time: Today's revenue, active orders
  • 15-min cache: Historical analytics
  • Daily aggregation: Month/year totals

Queue System

  • Critical queue: Provisioning, payments, suspension
  • Normal queue: Emails, notifications, backups
  • Low queue: Analytics, reports, cleanup

Scaling

  • Cloudflare CDN + WAF + DDoS protection
  • Load balancer with auto-scaling
  • Multi-region database replication
  • 15-minute backup RPO

API

Customer API (Full Control)

  • Create, modify, delete services
  • View invoices and billing history
  • Manage payment methods
  • Check bandwidth usage
  • Reboot/manage servers

Webhook Support

  • Customers can register webhook URLs
  • Events: invoice.created, service.provisioned, bandwidth.threshold_reached, etc.
  • HMAC signature verification
  • Automatic retry on failure

Custom Domains

  • Customers can point billing.theirdomain.com to platform
  • Auto-provisioned SSL via Let's Encrypt
  • DNS verification required

Analytics & Reporting

Admin Dashboard

  • MRR (Monthly Recurring Revenue)
  • ARR (Annual Recurring Revenue)
  • Churn rate and customer growth
  • Revenue trends (daily, monthly, yearly)
  • Popular plans and conversion rates
  • Outstanding invoices

Financial Reports

  • Revenue reports (by period, service, plan)
  • Profit & Loss statements
  • Tax reports (sales tax, VAT)
  • Aging reports (overdue invoices)
  • Refund reports
  • Subscription metrics

Project Layout

The Laravel 12 application is located in the website/ directory (base install, no additional packages yet). Documentation and planning files are in the repository root.

Important: This machine is for documentation and planning only. The actual project building and code execution happens on a separate development machine.

Contact

For questions about this project, contact the EZSCALE development team.


Status: Base Laravel 12 install in website/ - Ready for Phase 1 Development Last Updated: February 9, 2026 Total Planning Documents: 7 files, ~4000+ lines of specifications

Description
No description provided
Readme 16 MiB
Languages
PHP 46.5%
Vue 45.4%
Blade 3.5%
HTML 2.2%
TypeScript 1.5%
Other 0.7%