
# Default Dashboard

Every new project in Business Platform automatically gets a dashboard accessible at the project root `/projects/[projectId]`.

## Features

### Automatic Dashboard Creation

When a new project is created, it automatically includes:

1. **Navigation Entry**: A "Dashboard" link in the project navigation, accessible at the root path `/`
2. **Dashboard Compound Widget**: A compound widget containing the dashboard content

### Dashboard Components

The default dashboard includes two main widgets:

#### OnboardingTodo Widget

A getting started widget that helps new users understand the next steps:

- **Add Features**: Link to project settings (`/settings/store`) to extend the project with additional features and modules
- **Invite Team**: Link to access settings to invite coworkers
- **Create Data**: Link to types settings to create data types

This widget provides a smooth onboarding experience for new project creators.

#### AllDataTypesCounts Widget

A dynamic widget that automatically displays statistics for all data types in the project:

- Shows count statistics for each data type
- Updates dynamically as data types are added or removed
- Uses the NumberStatsDataTypeCount widget for consistent appearance
- Responsive grid layout adapts to different screen sizes

## Customization

Users can customize or delete the default dashboard:

1. Navigate to the project root
2. Click "Edit this page" (requires update permission)
3. Modify widgets as needed
4. Save changes

## Widget Reference

### AllDataTypesCounts

| Property | Type | Description |
|----------|------|-------------|
| (none) | - | This widget has no configuration options. It automatically detects all data types in the project. |

### OnboardingTodo

| Property | Type | Description |
|----------|------|-------------|
| (none) | - | This widget has no configuration options. It displays fixed onboarding tasks. |

## Technical Details

- The dashboard compound widget is stored in the tenant-prefixed collection `tenant-{projectId}-compound-widgets`
- The navigation entry links to the compound widget via `configuration.componentWidgetId`
- Both widgets use the existing permission system (RLS) for access control with tenant-prefixed permissions
