# Task: Implement Backend Validation for Service Dependencies in Project Creation

## 📌 Context
In the "Custom Package" flow, some services are **dependent** on other base services. For example, selecting "Defect Repair Cost Estimation" (تقدير تكلفة إصلاح العيوب) requires "Visual Inspection" (الفحص البصري) to be selected.
While the frontend UI will handle auto-selecting and disabling dependent checkboxes, the backend must strictly enforce this rule to prevent API manipulation and ensure data integrity.

## 🎯 Objective
Implement a robust backend validation layer in the project creation endpoint (`store` method) that checks service dependencies before creating the project and generating the quotation.

## 🛠️ Technical Requirements

### 1. Database Preparation
Ensure a `service_dependencies` table exists with the following structure (or adjust according to your existing schema):
*   `service_id` (The service that triggers the dependency)
*   `required_service_id` (The service that must be selected)

### 2. Validation Logic (Backend)
Update the `store` method (likely in `ProjectController`) to include the following logic:

*   **Base Validation:** Validate `package_id` exists and `services` is an array of existing service IDs.
*   **Fetch Dependencies:** Query the `service_dependencies` table and group them by `service_id`.
*   **Dependency Check:** Loop through the selected services. If a selected service has dependencies, verify that all its `required_service_id` are present in the selected services array.
*   **Error Handling:** If a required service is missing, throw a `ValidationException` with a clear Arabic error message (e.g., "الخدمة المحددة تتطلب اختيار خدمة أخرى إجبارياً.").
