Update to v3.0
Existing CartUser buyers (v2.0 to v2.9) can upgrade in-place via admin panel. The update tool handles backup, file replacement, schema migration, and cache clearing automatically. No CLI required for standard updates.
The update tool creates a database backup automatically, but you should also back up files (especially
kode/.env and
uploaded media in assets/images/) just in case.
Method 1 โ Admin panel update (recommended)
What you'll need
-
Update ZIP from CodeCanyon:
cartuser-update-v3.0.zip - SuperAdmin access to your CartUser installation
- ~5 minutes
Step-by-step
- Download the update ZIP from CodeCanyon โ Your Items โ Downloads โ Update file.
-
Log in to admin panel at
https://yourdomain.com/admin. - Navigate to System โ System Updates.
- Click "Create Backup" first. This downloads a snapshot of your current files + database.
-
Click "Upload Update File" and choose
cartuser-update-v3.0.zip. - Wait for the upload + processing screen (1-3 minutes). Don't close the browser tab.
- You'll see "System updated successfully to v3.0" when done.
- Log out and log back in to clear session cache.
- Verify โ Admin โ Dashboard footer shows v3.0.
documentation/screenshots/system_update.png
Admin โ System โ System Updates page.
What the update tool does (automatically)
-
Validates ZIP โ checks file type, rejects ZIP
containing
.envor.htaccess(safety). -
Extracts to
storage/app/public/temp_update/. -
Reads
config.jsonfrom ZIP root to get target version. - Version check โ only proceeds if uploaded version is newer than current.
-
Creates database backup via
db:backupโstorage/app/backups/. -
Copies new files over your existing installation.
Preserves
.env,.htaccess, uploaded media. - Regenerates composer autoloader โ picks up new classes.
-
Runs
schema:fixโ adds new columns/tables idempotently (safe to run anytime). -
Runs versioned migrations listed in
config.json.migrations[3.0]. - Runs general migrate --force โ picks up any other pending migrations.
- Clears all caches โ view, config, route, optimize.
-
Updates
app_versionsetting to3.0. -
Logs the update to
update_logstable.
Method 2 โ Manual update (CLI)
If you prefer command line or admin panel update fails:
- SSH into your server and navigate to your CartUser folder.
-
Backup database:
cd /home/user/public_html/kode php artisan db:backup -
Backup files:
cd /home/user/public_html tar -czf cartuser-files-backup-$(date +%Y%m%d).tar.gz kode/ assets/ -
Extract the update ZIP locally:
unzip cartuser-update-v3.0.zip -d /tmp/cartuser-v3 -
Sync new files (excluding .env and user uploads):
rsync -av \ --exclude='.env' \ --exclude='.htaccess' \ --exclude='storage/logs/' \ --exclude='storage/app/public/' \ --exclude='bootstrap/cache/' \ /tmp/cartuser-v3/ /home/user/public_html/ -
Update autoloader + run migrations:
cd /home/user/public_html/kode composer dump-autoload --no-dev --optimize php artisan schema:fix php artisan migrate --force php artisan optimize:clear -
Verify version:
Should outputphp artisan tinker --execute="echo site_settings('app_version');"3.0.
Post-update verification
Quick smoke test (from CLI)
cd /home/user/public_html/kode
php artisan tinker --execute="
foreach (['products','orders','update_logs','tutorials','campaign_enrollments'] as \$t) {
echo \$t . ': ' . (Schema::hasTable(\$t) ? 'OK' : 'MISSING') . PHP_EOL;
}
foreach ([['orders','delivery_option'],['orders','currency_id'],['sellers','commission_rate']] as [\$t,\$c]) {
echo \$t . '.' . \$c . ': ' . (Schema::hasColumn(\$t,\$c) ? 'OK' : 'MISSING') . PHP_EOL;
}
"
All should report OK.
Manual page checks
- Storefront home page โ loads with all sections
- Admin dashboard โ shows year filter, revenue chart, today's stats
- Product detail page โ shows variants + reviews + gallery
- Cart โ checkout โ place order flow works
-
Mobile app โ
/api/configreturns onboarding pages, settings
What's new in v3.0
See the full changelog. Highlights:
- AI Assistant with right-side drawer + model selector
- Multi-vendor 2.0 โ per-seller commission, single/multi toggle
- Demo Product Seeder โ 24 products, multi-category, reviews, orders
- Professional UI redesign โ order/product/seller/customer lists
- Flexible checkout โ pickup, free shipping, custom fields
- SEO Power Pack โ JSON-LD, sitemap.xml, canonical URLs
- In-app API docs + buyer documentation
- Update system โ safer ZIP upload with auto-backup, schema-fix
- 100+ bug fixes
If update fails
Update tool shows error mid-process
Check kode/storage/logs/laravel.log for the actual error.
Common causes:
-
Insufficient disk space โ clear old backups in
storage/app/backups/ -
Permission denied โ run
chmod -R 775 kode/storage -
Memory limit โ increase
memory_limit = 512Minphp.ini -
Max execution time โ increase
max_execution_time = 600inphp.ini
Rolling back to v2.9
If something went wrong after update:
-
Restore your file backup (the
.tar.gzyou made earlier) -
Restore database from
storage/app/backups/cartuser_backup_YYYYMMDD_HHMMSS.sql:mysql -u username -p database_name < cartuser_backup_20260624_120000.sql - Clear cache:
php artisan optimize:clear
"Schema already exists" errors
Safe to ignore. The schema:fix command is idempotent โ it
checks before adding columns/tables. Just rerun:
php artisan schema:fix
php artisan migrate --force
Updating mobile apps
v3.0 server changes are backward compatible with v2.9 mobile app builds (API endpoints unchanged). New API endpoints added in v3.0:
-
POST /api/checkoutโ supportsdelivery_option(pickup/shipping) field -
GET /api/configโ returnscheckout_configfor dynamic checkout form fields
If you want to use these new features, rebuild your mobile app with the latest CartUser API integration code.