generateAppKey(); $this->setEnvVariables(); $this->createCustomerRole(); $this->setAppSettings(); $this->createDefaultCurrencyRate(); $this->createStorageFolder(); } private function generateAppKey() { Artisan::call('key:generate', ['--force' => true]); } private function setEnvVariables() { $env = DotenvEditor::load(); $env->setKey('APP_ENV', 'production'); $env->setKey('APP_DEBUG', 'false'); $env->setKey('APP_CACHE', 'true'); $env->setKey('APP_URL', url('/')); $env->save(); } private function createCustomerRole() { Role::create(['name' => 'Customer']); } private function setAppSettings() { Setting::setMany([ 'active_theme' => 'Storefront', 'supported_countries' => ['BD'], 'default_country' => 'BD', 'supported_locales' => ['en'], 'default_locale' => 'en', 'default_timezone' => 'Asia/Dhaka', 'customer_role' => 2, 'reviews_enabled' => true, 'auto_approve_reviews' => true, 'cookie_bar_enabled' => true, 'supported_currencies' => ['USD'], 'default_currency' => 'USD', 'send_order_invoice_email' => false, 'store_email' => 'admin@fleetcart.test', 'newsletter_enabled' => false, 'search_engine' => 'mysql', 'local_pickup_cost' => 0, 'flat_rate_cost' => 0, 'translatable' => [ 'store_name' => 'FleetCart', 'free_shipping_label' => 'Free Shipping', 'local_pickup_label' => 'Local Pickup', 'flat_rate_label' => 'Flat Rate', 'paypal_label' => 'PayPal', 'paypal_description' => 'Pay via your PayPal account.', 'stripe_label' => 'Stripe', 'stripe_description' => 'Pay via credit or debit card.', 'paytm_label' => 'Paytm', 'paytm_description' => 'The best payment gateway provider in India for e-payment through credit card, debit card & net banking.', 'razorpay_label' => 'Razorpay', 'razorpay_description' => 'Pay securely by Credit or Debit card or Internet Banking through Razorpay.', 'instamojo_label' => 'Instamojo', 'instamojo_description' => 'CC/DB/NB/Wallets', 'authorizenet_label' => 'Authorize.net', 'authorizenet_description' => 'Accept payments anytime, anywhere', 'paystack_label' => 'Paystack', 'paystack_description' => 'Modern online and offline payments for Africa', 'flutterwave_label' => 'Flutterwave', 'flutterwave_description' => 'Endless possibilities for every business', 'mercadopago_label' => 'Mercado Pago', 'mercadopago_description' => 'From now on, do more with your money', 'cod_label' => 'Cash On Delivery', 'cod_description' => 'Pay with cash upon delivery.', 'bank_transfer_label' => 'Bank Transfer', 'bank_transfer_description' => 'Make your payment directly into our bank account. Please use your Order ID as the payment reference.', 'check_payment_label' => 'Check / Money Order', 'check_payment_description' => 'Please send a check to our store.', ], 'storefront_copyright_text' => 'Copyright © {{ store_name }} {{ year }}. All rights reserved.', ]); } private function createDefaultCurrencyRate() { CurrencyRate::create(['currency' => 'USD', 'rate' => 1]); } private function createStorageFolder() { if (!is_dir(public_path('storage'))) { mkdir(public_path('storage')); } } }