2.9 KiB
2.9 KiB
CLAUDE.md - EZSCALE Site Project Instructions
Important Context
- This repository is used for documentation and planning only on this machine
- Actual project building and code execution happens on a separate development machine
- Do NOT attempt to run composer, php, node, or other build commands here
- Focus on documentation, architecture, and planning tasks
Project Overview
EZSCALE Site is a Laravel 12 application replacing WHMCS for VPS/Dedicated Server hosting management. It handles billing, subscriptions, provisioning, customer management, and SSO.
Tech Stack
- Framework: Laravel 12 (PHP 8.2+)
- Frontend: Vue 3 + Inertia.js + Tailwind CSS
- UI Theme: Vuexy VueJS + Laravel Admin Dashboard Template (source files to be added)
- Payments: Laravel Cashier Stripe (primary) + srmklive/laravel-paypal (secondary)
- Database: MySQL 8.x
- Queue: Redis
- Auth: Laravel Fortify + Passport (OAuth2/SSO)
- Roles: spatie/laravel-permission
Project Structure
app/
├── Models/ # Eloquent models
├── Http/
│ ├── Controllers/ # Route controllers
│ ├── Middleware/ # Custom middleware
│ └── Requests/ # Form request validation
├── Services/ # Business logic (provisioning, billing, etc.)
├── Policies/ # Authorization policies
└── Events/ # Domain events
Development Commands
php artisan serve # Run dev server
php artisan test # Run test suite
php artisan migrate # Run migrations
php artisan queue:work # Process queue jobs
npm run dev # Vite dev server
npm run build # Production build
Code Conventions
- Follow PSR-12 coding standards
- Use strict typing:
declare(strict_types=1);in all PHP files - Use Form Request classes for validation
- Use Service classes for business logic (not in controllers)
- Use Policies for authorization
- Use Events/Listeners for side effects (email, provisioning, etc.)
- Write Feature and Unit tests for all new functionality
- Use database transactions for multi-step operations
Security Requirements
- All API endpoints require authentication
- Admin routes protected by role-based middleware
- CSRF protection on all forms
- Rate limiting on auth and API endpoints
- Input sanitization on all user inputs
- Encrypted storage for sensitive data (API keys, credentials)
- Audit logging for admin actions and billing events
Key Domains
- Billing - Subscriptions, invoices, payments via Cashier
- Provisioning - Server creation, suspension, termination
- Customer Management - Profiles, support tickets, notifications
- Admin Panel - Dashboard, user management, server management
- SSO - Single sign-on across EZSCALE services
Reference Files
TASKS.md- Current task list and progressPROJECT_DEVELOPMENT.md- Architecture decisions and development plan