Skip to main content

Post-Installation Checklist

Use this checklist to ensure your Investra platform is fully configured and ready for production.


๐Ÿšจ Before You Beginโ€‹

Legal Requirements

Before accepting real investments, ensure you have obtained all necessary licenses and consulted with a qualified legal professional. See the Investment & Legal Disclaimer for details.


โœ… Complete Setup Checklistโ€‹

1. Database & Environmentโ€‹

  • Copy .env.example to .env
  • Generate application key: php artisan key:generate
  • Configure database credentials in .env
  • Set APP_URL to your admin panel URL
  • Configure mail credentials (SMTP, Mailgun, etc.)
  • Configure Redis/caching if available

2. Storage & Permissionsโ€‹

  • Run storage link command: php artisan storage:link Or visit: https://youradmin.com/admin/storage-link
  • Set folder permissions (775 for storage, bootstrap/cache)
  • Verify file uploads work (upload an image in admin panel)

3. Payment Gatewaysโ€‹

  • Go to System Settings โ†’ Payment Gateways
  • Enable at least one payment gateway
  • Configure gateway credentials (Client ID, Secret Key)
  • Set webhook URL in gateway dashboard:
    • Stripe: https://yourdomain.com/webhooks/stripe
    • PayPal: https://yourdomain.com/webhooks/paypal
  • Test with sandbox credentials before production

4. Notification Settingsโ€‹

Go to System Settings โ†’ Notification Settings:

  • Configure Global Template (required)
  • Set up Email Settings (SMTP credentials)
  • Optionally configure SMS Settings (Twilio, etc.)
  • Optionally configure Push Notification Settings (Firebase)
  • Create and enable notification templates

5. KYC Configurationโ€‹

Go to System Settings โ†’ KYC Settings:

  • Review default KYC fields
  • Add fields required by your jurisdiction (National ID, Address Proof, etc.)
  • Set fields as Required where needed
  • Reorder fields by importance

See KYC Settings for details.

6. Currency Settingsโ€‹

Go to System Settings โ†’ Finance โ†’ Currency:

  • Set base currency (USD default provided)
  • Configure currency layer API key for live rates
  • Add additional supported currencies
  • Verify exchange rates are updating

Note: The free currencylayer.com API only supports USD. For multi-currency, obtain your own API key.

7. General Settingsโ€‹

Go to System Settings โ†’ General Settings:

  • Set company/institution name
  • Configure contact information (email, phone, address)
  • Set platform timezone

8. Cron Job Setupโ€‹

Set up the scheduler cron job on your server:

* * * * * /usr/bin/php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1

Tasks handled by cron:

TaskPurpose
ROI DistributionDistributes returns to investors
Project StatusUpdates completion status
Deposit ExpiryMarks pending deposits as expired
Currency RefreshUpdates exchange rates

9. Queue Worker Setup (Production)โ€‹

For production environments, run a queue worker:

php artisan queue:work --queue=default

For production stability, use a process manager like Supervisor:

[program:investra-worker]
command=php /path-to-your-project/artisan queue:work --queue=default --tries=3 --timeout=120
numprocs=2
autostart=true
autorestart=true

Jobs handled by queue:

JobPurpose
Email NotificationsTransactional emails
SMS NotificationsSMS via provider
Push NotificationsFirebase notifications
Webhook ProcessingPayment confirmations

10. User & Admin Settingsโ€‹

  • Change default admin password
  • Create additional admin users with appropriate roles
  • Configure role-based permissions in Admin Users โ†’ Roles
  • Review KYC Verification Workflow

11. Project Setupโ€‹

Go to Manage Projects:

  • Create project types (Types page)
  • Add project cities (Cities page)
  • Create your first project (Projects page)

12. Branding & Contentโ€‹

  • Upload logo and favicon: Theme Settings โ†’ Logo and Favicon
  • Configure menu structure: Navigation โ†’ Menu
  • Set up CMS pages: Theme Settings โ†’ Manage Pages
  • Add contact information: Contact Form Setup
  • Configure social media links: Socialite Media

13. Mobile App (If Applicable)โ€‹

  • Update EXPO_PUBLIC_API_BASE_URL in mobile .env
  • Configure Firebase credentials (google-services.json, GoogleService-Info.plist)
  • Set up Stripe in mobile app config
  • Build and test on devices before App Store submission

๐Ÿงช Verification Testsโ€‹

After setup, verify everything works:

TestLocationExpected Result
User registrationClient frontendAccount created, KYC form shown
DepositUser walletPayment gateway redirect works
Admin loginAdmin panelLogin successful
KYC reviewAdmin โ†’ Users โ†’ VerifyCan approve/reject submissions
Email sendingUser actionsEmails delivered
Cron logsAdmin โ†’ Cron Job Settings โ†’ LogsTasks executed

SettingPath
Payment GatewaysSystem Settings โ†’ Payment Gateways
NotificationsSystem Settings โ†’ Notification Settings
KYC SettingsSystem Settings โ†’ KYC Settings
CurrencySystem Settings โ†’ Finance โ†’ Currency
Cron JobsSystem Settings โ†’ Cron Job Settings
User ManagementManage User โ†’ Users
Project ManagementManage Projects โ†’ Projects
Legal DisclaimerInvestment & Legal Disclaimer

๐Ÿ†˜ Troubleshootingโ€‹

If you encounter issues:

  1. File uploads not working: Run storage link or check APP_URL in .env
  2. Emails not sending: Verify SMTP credentials in notification settings
  3. Cron not running: Check server cron configuration and logs
  4. Queue jobs not processing: Ensure queue worker is running
  5. Payment webhook failures: Verify webhook URL in gateway dashboard

See the Troubleshooting section for common issues.