# Multi-Tenant Admin Dashboard CMS

A Laravel-based multi-tenant CMS where each admin manages their own domain.

## Features

- Multi-tenant architecture with domain-based routing
- Admin authentication and authorization
- Domain management system
- Admin dashboard for managing websites
- Automatic domain creation when admin is registered

## Installation

1. Install dependencies:
```bash
composer install
```

2. Copy environment file:
```bash
cp .env.example .env
```

3. Generate application key:
```bash
php artisan key:generate
```

4. Configure database in `.env` file

5. Run migrations:
```bash
php artisan migrate
```

6. Install frontend dependencies:
```bash
npm install
```

7. Build frontend assets (development):
```bash
npm run dev
```

8. Build frontend assets (production):
```bash
npm run build
```

9. Seed initial data (creates super admin and default domain):
```bash
php artisan db:seed
```

10. Seed template data for the newly created domain:
```bash
php artisan db:seed --class=DomainTemplateDataSeeder -- --domain_id=NEW_DOMAIN_ID
```

## Usage

- Access the main admin panel at `/admin`
- Each admin gets their own domain after registration
- Admins can manage their assigned domain through the dashboard

