Configuration

Configure your Laravel SaaS Starter Kit

Email Verification

Email verification is disabled by default to make development easier. When enabled, users must verify their email address before accessing the application.

📍 Location

The User model is located at:

app/Models/User.php

How to Enable Email Verification

Follow these steps to enable email verification:

Step 1: Open the User model

Navigate to app/Models/User.php

Step 2: Uncomment the import statement

At the top of the file, uncomment the MustVerifyEmail import:

app/Models/User.php (line 5)
// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Contracts\Auth\MustVerifyEmail;

Step 3: Implement the interface

Update the class declaration to implement MustVerifyEmail:

app/Models/User.php (line 9)
class User extends Authenticatable // implements MustVerifyEmail
class User extends Authenticatable implements MustVerifyEmail

✅ That's it!

Once enabled, new users will receive an email verification link after registration. They must click the link to verify their email before accessing the application.

Database Configuration

The default database is SQLite. To use MySQL or PostgreSQL, update your .env file:

.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password

Mail Configuration

Configure your mail settings in .env:

.env
MAIL_MAILER=smtp
MAIL_HOST=your-smtp-host
MAIL_PORT=587
MAIL_USERNAME=your-username
MAIL_PASSWORD=your-password
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="${APP_NAME}"

Dark Mode

Dark mode automatically follows the user's system preferences. No manual toggle required - it detects if the user has dark mode enabled on their device and applies it automatically.

📍 Location

The dark mode detection code is located in the <head> section of:

resources/views/layouts/app.blade.php

How It Works

The script checks the user's system preference using window.matchMedia and adds the dark class to the HTML element if dark mode is preferred.

resources/views/layouts/app.blade.php
<script>
    if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
        document.documentElement.classList.add('dark');
    }
</script>

💡 Note

This script is placed in the <head> section (before the body) to prevent any flash of light mode when the page loads.

Customization

Colors

Update the color palette in your Blade templates by replacing the hex values:

#0a0a0a - Dark background
#161615 - Dark cards
#EDEDEC - Dark primary text
#A1A09A - Dark secondary text
#3E3E3A - Dark borders

Branding

  • Update APP_NAME in .env
  • Replace logo in resources/views/components/application-logo.blade.php
  • Customize welcome page content in resources/views/welcome.blade.php