Skip to content

Demo Reset

Mini CRM includes a built-in demo mode for live demo environments. It resets all CRM data to a clean, realistic state on a schedule.

What the Demo Seeder Creates

Running DemoSeeder populates the entire CRM with realistic data:

EntityCountDetails
Users4Admin, Manager (Sarah), Sales (Mike), Sales (Emma)
Companies8Tech, Finance, SaaS, Media, Healthcare, Retail…
Tags8VIP, Hot Lead, Cold, Partner, Enterprise, SMB, Referral, Event
Contacts15Linked to companies, tagged, with notes
Leads12All 5 statuses, all sources, some with overdue follow-ups
Deals10All 5 stages with line-item products and probabilities
Tasks15Linked to contacts, leads, deals + 2 standalone
Activities25Full activity feed across all entity types

Demo Credentials

RoleEmailPassword
Adminadmin@minicrm.testpassword
Managermanager@minicrm.testpassword
Salesmike@minicrm.testpassword
Salesemma@minicrm.testpassword

Seed Demo Data (One Time)

bash
php artisan db:seed --class=DemoSeeder

Reset Demo Data Manually

bash
php artisan demo:reset

You will be asked to confirm. To skip the prompt:

bash
php artisan demo:reset --force

Automatic Reset Every 4 Hours

The demo:reset --force command is automatically scheduled to run every 4 hours via CoreServiceProvider. This keeps a live demo environment clean after visitors make changes.

Logs are written to storage/logs/demo-reset.log.

To disable the automatic reset, remove or comment out the schedule in Modules/Core/app/Providers/CoreServiceProvider.php:

php
// $schedule->command('demo:reset --force')->everyFourHours()...

What Gets Preserved

The reset does not touch:

  • Spatie roles and permissions
  • Application settings (logo, title, etc.)
  • The admin@minicrm.test account

Everything else (companies, contacts, tags, leads, deals, tasks, activities, and the 3 demo users) is wiped and recreated fresh.

Released under the MIT License.