DJANGO_SECRET_KEY=dev-only-change-me-in-prod DJANGO_DEBUG=True DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1,0.0.0.0 DJANGO_SETTINGS_MODULE=ilo.settings.dev POSTGRES_DB=ilo POSTGRES_USER=ilo POSTGRES_PASSWORD=ilo POSTGRES_HOST=db POSTGRES_PORT=5432 # SMS backend: dotted path. ConsoleSMSBackend prints OTPs to logs (dev only). # For production with sms.ir, switch to SMSIRBackend and fill the SMSIR_* vars. SMS_BACKEND=apps.accounts.services.sms.ConsoleSMSBackend SMSIR_API_KEY= SMSIR_LINE_NUMBER= SMSIR_TEMPLATE_ID= SMSIR_TEMPLATE_PARAM_NAME=Code SMSIR_BASE_URL=https://api.sms.ir # Media storage. Default = local filesystem (writes to MEDIA_ROOT). # To use S3-compatible (MinIO / ArvanCloud Object Storage), set: # DEFAULT_FILE_STORAGE=storages.backends.s3.S3Storage # and add `django-storages[s3]` to requirements.txt, then configure: # AWS_S3_ENDPOINT_URL=https://s3.your-host # AWS_ACCESS_KEY_ID=... # AWS_SECRET_ACCESS_KEY=... # AWS_STORAGE_BUCKET_NAME=ilo-media # AWS_S3_REGION_NAME=... # AWS_S3_ADDRESSING_STYLE=path # required for MinIO/ArvanCloud DEFAULT_FILE_STORAGE=django.core.files.storage.FileSystemStorage # Payments. Console backend = auto-completes orders without hitting a real gateway (dev only). # In production: PAYMENT_BACKEND=apps.payments.services.gateway.ZarinPalBackend PAYMENT_BACKEND=apps.payments.services.gateway.ConsolePaymentBackend PAYMENT_CALLBACK_BASE_URL=http://localhost:8000 PAYMENT_SUCCESS_REDIRECT_URL=/payment/success PAYMENT_FAILURE_REDIRECT_URL=/payment/failed # Platform commission % of every paid order (instructor gets the remainder). ILO_COMMISSION_PERCENT=15 # ZarinPal — fill these and set ZARINPAL_SANDBOX=false for production. ZARINPAL_MERCHANT_ID= ZARINPAL_SANDBOX=true # IDPay — fill these to enable PAYMENT_BACKEND=apps.payments.services.gateway.IDPayBackend IDPAY_API_KEY= IDPAY_SANDBOX=true # Referral split (applied at checkout when a referral code is supplied) REFERRAL_BUYER_DISCOUNT_PERCENT=10 REFERRAL_REFERRER_CREDIT_PERCENT=10