1. Welcome
Quick intro, high-level checklist, and a reminder about server requirements.
Thanks for choosing the eduex learning platform. This guide walks through Codecanyone installation steps, manual setup, demo users, and all major admin configuration panels.
Before you run the installer, ensure the target server meets the minimum requirements:
eduex_db).
node_modules, storage/logs,
vendor if you prefer running composer on the server).public_html/ (or the target directory)
and upload the archive, then extract it.
Without terminal access, you can complete migrations by visiting /install after
uploading.
eduex bundles a polished Codecanyone-style wizard for first-time installs. Browse to
/install after configuring your vhost or running php artisan serve.
Quick intro, high-level checklist, and a reminder about server requirements.
Automated PHP version and extension checks. You must satisfy all prerequisites to continue.
Validates directory write access for storage and
bootstrap/cache.
Guided form covering application info, database credentials, cache/session drivers, and
mail
setup. Values are persisted to .env.
Runs migrations, seeds all demo data, performs artisan maintenance commands, and logs output in real time.
Displays environment summary, seeded demo accounts, and the path to the
storage/installed marker.
If you cannot access the browser wizard (headless servers, CLI-only environments), follow these steps:
cp .env.example .env
php artisan key:generate
.env, ensure the database exists, then run:
php artisan migrate --force
php artisan db:seed --force
php artisan optimize:clear
php artisan key:generate --force
php -r "file_exists('storage/installed') || touch('storage/installed');"
storage/installed anytime you need to re-run the
wizard.
The seeders provision three ready-to-use accounts for quick testing. All use the password
password.
| Role | Password | |
|---|---|---|
| Administrator | admin@eduex.com |
password |
| Instructor | instructor@eduex.com |
password |
| Student | student@eduex.com |
password |
Keeping your system up-to-date is crucial for security and new features. The built-in updater allows you to apply database changes automatically.
When uploading the new version files to your server, you must preserve your existing configuration and user data:
.env file to
old.env (or keep a local backup).
storage folder
to old_storage..env and rename
old.env back to .env.
storage folder and
rename old_storage back to storage.This ensures you keep your database credentials, app keys, and user uploaded files intact.
Once you have uploaded the new files and restored your configuration:
Click to open the step-by-step video guide
After installation, here's how to start using eduex:
Highlights of the eduex platform:
Example:
APP_NAME=eduex
APP_URL=https://lms.example.com
| Key | Description | Example |
|---|---|---|
APP_NAME |
Brand name displayed across headers, transactional emails, and metadata. | eduex |
APP_URL |
Primary application URL. Important for mailers, queues, and asset helpers. | https://lms.example.com |
Sign into the admin dashboard and navigate to Settings to manage the following modules:
The Frontend Manager module controls most public-facing content. From the admin sidebar open Frontend Manager to access the following tools:
Changes are saved immediately. Clear caches (php artisan optimize:clear) if your
deployment
caches configuration, and refresh the storefront to verify updates.
storage/logs/laravel.log for
SQL or
permission errors.php artisan migrate --path=database/migrations/0001_01_01_000001_create_cache_table.php.
php artisan queue:work.
# Clear caches and rebuild autoload optimizations
php artisan optimize:clear
# Run migrations with seeders again
php artisan migrate:fresh --seed
# Monitor Horizon or queue (if using Redis)
php artisan queue:listen
We're here to help! Use the following resources to get support or reach out with questions:
storage/logs/laravel.log.When reporting an issue, include:
If you have questions or need assistance, don't hesitate to reach out.
Contact SupportA: Check your server logs at storage/logs/laravel.log for
database or permission errors. Ensure storage and bootstrap/cache
directories are writable.
A: No, a database is required for the platform to function. Support includes MySQL, MariaDB, PostgreSQL, and SQL Server.
A: Restore your database from backup, then upload the backed-up files to
your server. Run php artisan migrate --force if needed.
A: Log in as admin and navigate to Settings → Branding & Assets to upload logos and customize colors.
A: Yes, point your domain to the server hosting eduex. Update
APP_URL in your .env file with your domain.
A: Go to Settings → Payment Gateways, fill in credentials for each gateway you want to enable, and toggle them active.
A: Not natively, but instructors can provide downloadable PDFs and course materials for offline reference.
A: Video: MP4, WebM, OGG. Documents: PDF, DOC, DOCX, XLS, XLSX. Images: JPG, PNG, GIF, WebP.
A: Yes, instructors can view student progress, quiz scores, and time spent in the course analytics dashboard.
A: Stripe, Paystack, Razorpay, Flutterwave, PayPal, SSLCommerz, and Mollie are all integrated.
A: Configure revenue sharing percentages in Settings → Revenue Distribution.
A: Yes, admins can process refunds manually. Configure refund policies and expiration in settings.
Complete guide to re-branding, configuring, and publishing the eduex mobile application.
eduex_flutter directory.flutter pub get
flutter run
Link the mobile app to your installed Laravel server.
lib/config/config.dart.baseUrl:
static const String baseUrl = 'https://your-domain.com';
Android: Open android/app/src/main/AndroidManifest.xml and update:
android:label="Your App Name"
iOS: Open ios/Runner/Info.plist and update:
<key>CFBundleDisplayName</key>
<string>Your App Name</string>
com.example.eduex_app with com.yourcompany.appname.
applicationId in android/app/build.gradle.kts.android/app/src/main/kotlin/com/example/eduex_app/ to match your new ID.
AndroidManifest.xml.ios/Runner.xcodeproj within Xcode.We use the flutter_launcher_icons package to generate icons for all devices.
assets/img/icon.png with your logo (1024x1024px, no
transparency recommended).dart run flutter_launcher_icons
assets/img/splash.png with your own image.lib/screens/splash/splash_screen.dart.
You can change the primary and secondary colors of the entire application from a single file.
lib/theme/app_theme.dart.AppTheme class.class AppTheme {
// Primary Brand Color
static const Color primary = Color(0xFF1EA9FF); // Change this
// Secondary Brand Color
static const Color secondary = Color(0xFF085BC5); // Change this
// ... other colors
}
The app supports multiple languages using Flutter's localization system.
lib/l10n/ directory.app_es.arb for Spanish.app_en.arb and translate the values.lib/main.dart or lib/app.dart.supportedLocales:
supportedLocales: const [
Locale('en'), // English
Locale('es'), // Spanish (Added)
],
Flutter will automatically generate the Dart code when you run the app again.
android/key.properties with your keystore details.flutter build appbundle --release
open ios/Runner.xcworkspace