Custom Development
How to safely develop and deploy custom modifications to Mentor LMS.
Mentor LMS allows you to customize and modify the application code to meet your specific requirements.
Development Environment
All custom development must be done in a local development environment. Never make code changes directly on your live production server.
What You Can Modify
You have complete freedom to modify any part of the codebase:
- Frontend — Views, components, styles
- Backend — Controllers, models, routes
- Design — Themes, layouts, CSS
Preparing for Deployment
Step 1: Clear Optimization Caches
php artisan optimize:clearClears: configuration cache, route cache, view cache, compiled class cache, application cache.
Step 2: Build SSR Assets
npm run build:ssrStep 3: Remove Public Storage Directory
Navigate to your project's public folder and delete the storage directory if it exists (it's a symlink in local environments).
Step 4: Create Deployment ZIP
Select all project files except:
node_modules/.env.git/.github/
Deploying to Live Website
- Log in to your admin panel → Maintenance → App Maintenance
- Click Refresh Server
- Click Update Application → Select your custom ZIP file
- Click Run Version Seeder only if you made database changes
Handling Official Version Updates
Important: Merging Updates with Custom Code
When Mentor LMS releases a new version, do not directly update your live website — it will overwrite all your custom modifications.
Required process:
- Download the latest Mentor LMS version
- Merge our new source code with your custom code locally
- Test the merged version thoroughly in your local environment
- Create a ZIP of the merged version
- Upload the merged ZIP through the Maintenance panel