Commit Graph

146 Commits

Author SHA1 Message Date
idevakk
b497f7796d feat: implement comprehensive enhanced plan management system
- Create 7 new models with full relationships and business logic:
     * PlanFeature: Define available features with categories and types
     * PlanFeatureLimit: Manage usage limits per plan with trial overrides
     * PlanPermission: Granular permissions system for features
     * PlanProvider: Multi-provider payment configuration
     * PlanTier: Hierarchical plan structure with upgrade paths
     * PlanUsage: Real-time usage tracking and analytics
     * TrialConfiguration: Advanced trial settings per plan

   - Enhance Plan model with 25+ new methods:
     * Feature checking: hasFeature(), canUseFeature(), getRemainingUsage()
     * Permission system: hasPermission() with trial support
     * Payment providers: getAllowedProviders(), supportsProvider()
     * Trial management: hasTrial(), getTrialConfig()
     * Upgrade paths: isUpgradeFrom(), getUpgradePath()
     * Utility methods: getBillingCycleDisplay(), metadata handling

   - Completely redesign PlanResource with tabbed interface:
     * Basic Info: Core plan configuration with dynamic billing cycles
     * Features & Limits: Dynamic feature management with trial overrides
     * Payment Providers: Multi-provider configuration (Stripe, Lemon Squeezy, etc.)
     * Trial Settings: Advanced trial configuration with always-visible toggle

   - Create new Filament resources:
     * PlanFeatureResource: Manage available features by category
     * PlanTierResource: Hierarchical tier management with parent-child relationships

   - Implement comprehensive data migration:
     * Migrate legacy plan data to new enhanced system
     * Create default features (mailbox accounts, email forwarding, etc.)
     * Preserve existing payment provider configurations
     * Set up trial configurations (disabled for legacy plans)
     * Handle duplicate data gracefully with rollback support

   - Add proper database constraints and indexes:
     * Unique constraints on plan-feature relationships
     * Foreign key constraints with cascade deletes
     * Performance indexes for common queries
     * JSON metadata columns for flexible configuration

   - Fix trial configuration form handling:
     * Add required validation for numeric fields
     * Implement proper null handling with defaults
     * Add type casting for all numeric fields
     * Ensure database constraint compliance
2025-11-21 10:13:14 -08:00
idevakk
5f5da23a40 feat: migrate legacy subscription checks to unified payment system
- Replace Laravel Cashier methods with new subscription system
  - Remove session-based subscription checking in bulk components
  - Update Dashboard.php to use PaymentOrchestrator for provider-agnostic sync
  - Maintain backward compatibility with existing Stripe subscriptions
  - Improve performance by eliminating session overhead
  - Add automatic migration of legacy subscriptions to new system

BREAKING CHANGE: Subscription checking now uses unified payment system instead of Laravel Cashier methods
2025-11-20 11:05:51 -08:00
idevakk
4ab8cfceb2 feat: add claude command to review latest commit as per laravel-boost guidelines 2025-11-20 09:43:39 -08:00
idevakk
27ac13948c feat: implement comprehensive multi-provider payment processing system
- Add unified payment provider architecture with contract-based design
  - Implement 6 payment providers: Stripe, Lemon Squeezy, Polar, Oxapay, Crypto, Activation Keys
  - Create subscription management with lifecycle handling (create, cancel, pause, resume, update)
  - Add coupon system with usage tracking and trial extensions
  - Build Filament admin resources for payment providers, subscriptions, coupons, and trials
  - Implement payment orchestration service with provider registry and configuration management
  - Add comprehensive payment logging and webhook handling for all providers
  - Create customer analytics dashboard with revenue, churn, and lifetime value metrics
  - Add subscription migration service for provider switching
  - Include extensive test coverage for all payment functionality
2025-11-19 09:37:00 -08:00
idevakk
0560016f33 fix: update view templates to use array access for cached data
- Update app.blade.php to access menu properties using array syntax
  - Update home.blade.php to access blog properties using array syntax
  - Fixes "Attempt to read property on array" errors after cache conversion
2025-11-18 02:39:03 -08:00
idevakk
52a59eb143 feat: add impersonation log viewer in filament dashboard 2025-11-17 12:22:26 -08:00
idevakk
a7029b5f57 feat: add user impersonation service 2025-11-17 10:44:19 -08:00
idevakk
f60c986e07 fix(plan-cache): update nested property access after migrating cache from object list to array list 2025-11-17 10:43:57 -08:00
idevakk
23cfd0c88d feat: add UserLevel enum and integrate it in User Modal, UserResource and UserFactory 2025-11-17 08:35:31 -08:00
idevakk
bbbaf3a234 feat: add Filament packages for enhanced admin functionality
- Add backstage/filament-mails for mail management interface
  - Add binarybuilds/filament-failed-jobs for failed job monitoring
  - Add gboquizosanchez/filament-log-viewer for application log viewing
  - Add jacobtims/filament-logger for enhanced logging capabilities
  - Extend Filament admin panel with comprehensive monitoring tools
  - Improve developer experience with better visibility into system operations
2025-11-17 06:33:07 -08:00
idevakk
e330c4f90e refactor: remove unused Settings page and reorganize PlanResource navigation
- Remove unused Filament Settings.php page
  - Change PlanResource navigation group for better organization
  - Clean up obsolete settings page that is no longer needed
  - Update PlanResource navigation icon to OutlinedInboxStack
  - Improve navigation structure by relocating plan management
2025-11-17 05:49:12 -08:00
idevakk
f51de5e732 fix: resolve config cache serialization error for optimize command
- Convert Eloquent Collections to arrays before storing in config
  - Fix Menu::all(), Blog::get(), Plan::all() serialization in AppServiceProvider
  - Enable php artisan optimize command to cache configuration successfully
  - Resolve non-serializable value error at "app.menus" key
  - Ensure compatibility with Laravel config caching mechanism
2025-11-17 05:35:25 -08:00
idevakk
7ac0a436b1 feat: add IMAP connection testing and website settings optimization
- Add dynamic IMAP connection testing for multiple account types (public, premium)
  - Implement testIMAPConnection method using ZEmail::connectMailBox for reliable testing
  - Add comprehensive error handling and user-friendly notifications
  - Support easy extension for future IMAP configurations (vip, etc.)
  - Add queued artisan command execution in WebsiteSettings (optimize, optimize:clear)
  - Enhance website settings with performance optimization controls
  - Add validation for IMAP extension availability and helpful error messages
2025-11-17 05:27:19 -08:00
idevakk
cb05040c96 feat: add legacy setting support to ease migration 2025-11-16 10:59:42 -08:00
idevakk
e3da8cf950 feat: add Website Settings, Imap Settings and Configuration Settings via inerba/filament-db-config 2025-11-16 10:56:48 -08:00
idevakk
4615d384be feat: implement repository architecture with smart caching
- Add base repository interfaces and abstract classes
  - Implement separated read/write repositories for Domain and Username models
  - Add intelligent query caching with automatic invalidation
  - Include cache management service and CLI commands
  - Add comprehensive configuration for cache TTL and monitoring
  - Enhance performance through optimized data access patterns
2025-11-15 22:11:19 -08:00
idevakk
ea0bc91251 feat: add username management system 2025-11-15 21:41:28 -08:00
idevakk
ca94c360ea feat: add domain management system 2025-11-15 19:57:01 -08:00
idevakk
466a370f28 feat: add domain management system 2025-11-15 11:40:04 -08:00
idevakk
d9291f06eb feat: add performance indexes to optimize database queries 2025-11-14 03:41:46 -08:00
idevakk
ae795880ed chore: code refactor via rector 2025-11-14 02:01:01 -08:00
idevakk
90ab79b3a2 chore: code styling via pint 2025-11-14 01:51:35 -08:00
idevakk
3892c48ef2 feat: upgrade filament to v4 and ensure 100% test coverage
- Upgrade Filament framework from v3 to v4
   - Update all Filament resources and pages for v4 compatibility
   - Fix test suite to maintain 100% pass rate (321 tests passing)
   - Add visibility condition for ticket close action (only when not closed)
   - Update dependencies and build assets for new Filament version
   - Maintain backward compatibility while leveraging v4 improvements
2025-11-14 01:42:07 -08:00
idevakk
3706072ce5 fix: resolve PSR-4 autoloading and test failures
- Add proper Tests\ namespace to all test classes in tests/Feature and tests/Unit
  - Split RemainingModelsTest.php into separate files (PSR-4 compliance)
  - Create missing factories: MetaFactory, RemoteEmailFactory
  - Add HasFactory trait to RemoteEmail model
  - Add missing ReflectionClass imports to test files
  - Fix mass assignment issues in Meta and RemoteEmail models
  - Override database connection for RemoteEmail in testing environment
  - Fix DateTime comparison precision issues in tests
2025-11-13 09:49:21 -08:00
idevakk
68ef391c5d test: achieve 100% test coverage with comprehensive test suite fixes
- Fix Laravel bootstrap issues in TestCase setup
  - Add missing database factories (Setting, PremiumEmail, ActivationKey, etc.)
  - Convert Pest tests to PHPUnit style for compatibility
  - Fix model relationships and boolean casts
  - Add missing Filament resource actions and filters
  - Fix form validation and test data mismatches
  - Resolve assertion parameter order issues
  - Add proper configuration for test views
  - Fix searchable columns and table sorting
  - Simplify complex filter assertions for stability
2025-11-13 09:11:14 -08:00
idevakk
1ca28dabb2 feat: add laravel boost to assist in coding 2025-11-09 03:30:52 -08:00
idevakk
664637fa30 fix: add pre-check if imap is supported before trying to connect 2025-11-09 03:25:59 -08:00
idevakk
391af8a778 chore: add admin seeder & add collation only to mysql database in plans table and activation table 2025-11-09 03:25:19 -08:00
idevakk
b023ef75c3 chore: bump node_modules to fix security issue
-axios bumped to v1.13.2
-form-data bumped to v4.0.4
-vite bumped to v6.4.1
2025-11-09 01:11:01 -08:00
Gitea
fa008cbdb3 Merge branch 'cryptoPM' 2025-11-08 23:54:38 +05:30
Gitea
bc839d970c Merge branch 'premiumDash'
# Conflicts:
#	.gitignore
#	zsql/zemailnator.sql
2025-11-08 23:54:06 +05:30
Gitea
ce18186ff8 Merge branch 'centralEmailDB' 2025-11-08 23:52:09 +05:30
Gitea
9267df5423 chore: add stripe.exe to .gitignore 2025-11-08 23:45:59 +05:30
Gitea
9fe89902ed chore: add stripe.exe to .gitignore 2025-11-08 23:45:19 +05:30
Gitea
573d32c9bd feat: added option to hide stripe billing links from dashboard 2025-08-15 21:37:32 +05:30
Gitea
566aff01df updated .env.example 2025-08-13 17:57:11 +05:30
Gitea
83a9886b5c updated .env.example 2025-08-13 17:56:34 +05:30
Gitea
30bd0c2712 updated plan, and oxapay integration 2025-06-21 04:09:08 +05:30
Gitea
930144f8f8 updated stats, add logs and other data in user resource 2025-06-20 21:44:33 +05:30
Gitea
3afa74ecc2 added notification system for successful payment 2025-06-20 20:34:57 +05:30
Gitea
dbe6d49c49 added remote db source 2025-06-20 19:48:09 +05:30
Gitea
b43461e180 added email notification for TicketResource.php, add option to edit users - ban, unban 2025-05-18 21:50:24 +05:30
Gitea
c00cad3cf1 fixed minor bug 2025-05-17 20:36:54 +05:30
Gitea
27a7bba3d7 fixed minor bug 2025-05-17 05:24:01 +05:30
Gitea
175a7203f3 added support ticket and added more stat widgets 2025-05-17 05:11:29 +05:30
Gitea
f30d7fa096 sql file for current update 2025-05-17 04:23:32 +05:30
Gitea
93515e7845 added crypto pm and activation key system 2025-05-16 11:24:08 +05:30
Gitea
23b5a45d0b fixed blog images,
added custom add-on links,
added sitemap.xml
2025-05-14 00:56:04 +05:30
Gitea
124710df0a add dns verification in Register.php 2025-05-13 17:51:21 +05:30
Gitea
6a064bb76e fixed minor bug at Dashboard.php file 2025-05-13 17:45:00 +05:30