# Data Model This document defines the data structures for the project, based on the entities identified in the feature specification. ## User Represents an authenticated user of the admin panel. - **email**: `string` (required, unique) - **password**: `string` (required, hashed) - **role**: `enum` (required, values: `admin`, `editor`) ## Blog Post Represents a single article. - **title**: `string` (required) - **slug**: `string` (required, unique) - **content**: `richText` (required) - **author**: `relationship` to `User` (required) - **category**: `relationship` to `Category` (required) - **publication_date**: `date` (required) - **meta_title**: `string` (required) - **meta_description**: `string` (required) ## Portfolio Item Represents a single project. - **title**: `string` (required) - **slug**: `string` (required, unique) - **description**: `richText` (required) - **project_images**: `array` of `media` (required) - **completion_date**: `date` (required) - **meta_title**: `string` (required) - **meta_description**: `string` (required) ## Category Represents a blog post category. - **name**: `string` (required) - **slug**: `string` (required, unique)