=== cache === key | varchar(255) | NOT NULL value | mediumtext | NOT NULL expiration | int(11) | NOT NULL === cache_locks === key | varchar(255) | NOT NULL owner | varchar(255) | NOT NULL expiration | int(11) | NOT NULL === case_member_solutions === id | bigint(20) unsigned | NOT NULL case_id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL content | text | NOT NULL avg_rating | decimal(3,2) | NOT NULL DEFAULT '0.00' ratings_count | int(10) unsigned | NOT NULL DEFAULT '0' created_at | timestamp | NULL updated_at | timestamp | NULL === case_progress === id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL case_id | bigint(20) unsigned | NOT NULL status | enum('started','completed') | NOT NULL DEFAULT 'started' solution_revealed | tinyint(1) | NOT NULL DEFAULT '0' completed_at | timestamp | NULL case_rating | tinyint(3) unsigned | NULL case_rated_at | timestamp | NULL created_at | timestamp | NULL updated_at | timestamp | NULL === case_sectors === id | bigint(20) unsigned | NOT NULL case_id | bigint(20) unsigned | NOT NULL sector_id | bigint(20) unsigned | NOT NULL === case_solution_ratings === id | bigint(20) unsigned | NOT NULL solution_id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL rating | tinyint(3) unsigned | NOT NULL created_at | timestamp | NULL updated_at | timestamp | NULL === cases === id | bigint(20) unsigned | NOT NULL hub_id | bigint(20) unsigned | NOT NULL created_by | bigint(20) unsigned | NOT NULL topic_slug | varchar(255) | NOT NULL topic_name_en | varchar(255) | NOT NULL topic_name_ar | varchar(255) | NOT NULL layer | enum('generic','sector_specific') | NOT NULL DEFAULT 'generic' difficulty | enum('beginner','intermediate','advanced') | NOT NULL DEFAULT 'beginner' title_en | varchar(255) | NOT NULL subtitle_en | varchar(255) | NULL situation_en | text | NOT NULL challenge_questions_en | longtext | NOT NULL solution_en | longtext | NOT NULL bigger_lesson_en | text | NOT NULL skills_taught_en | longtext | NOT NULL title_ar | varchar(255) | NULL subtitle_ar | varchar(255) | NULL situation_ar | text | NULL challenge_questions_ar | longtext | NULL solution_ar | longtext | NULL bigger_lesson_ar | text | NULL skills_taught_ar | longtext | NULL case_data | longtext | NULL read_time_minutes | tinyint(3) unsigned | NOT NULL DEFAULT '10' status | enum('draft','review','published','archived') | NOT NULL DEFAULT 'draft' published_at | timestamp | NULL sort_order | smallint(5) unsigned | NOT NULL DEFAULT '0' created_at | timestamp | NULL updated_at | timestamp | NULL === cv_profiles === id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL job_title | varchar(255) | NOT NULL current_industry | varchar(255) | NOT NULL years_experience | tinyint(3) unsigned | NOT NULL experience_level | enum('student','fresh','junior','mid','senior') | NOT NULL skills | longtext | NOT NULL hub_ids | longtext | NOT NULL education_level | varchar(255) | NOT NULL education_field | varchar(255) | NULL location_country | varchar(255) | NOT NULL DEFAULT 'Egypt' location_city | varchar(255) | NULL summary | text | NULL preferred_sectors | longtext | NULL job_type_preference | varchar(255) | NULL open_to_relocation | tinyint(1) | NOT NULL DEFAULT '0' is_visible | tinyint(1) | NOT NULL DEFAULT '1' created_at | timestamp | NULL updated_at | timestamp | NULL === document_ratings === id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL document_id | bigint(20) unsigned | NOT NULL rating | tinyint(3) unsigned | NOT NULL comment | text | NULL created_at | timestamp | NULL updated_at | timestamp | NULL === documents === id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL hub_id | bigint(20) unsigned | NOT NULL original_filename | varchar(255) | NOT NULL stored_filename | varchar(255) | NOT NULL file_path | varchar(255) | NOT NULL file_type | varchar(10) | NOT NULL file_size | bigint(20) unsigned | NOT NULL title_en | varchar(255) | NOT NULL title_ar | varchar(255) | NULL description_en | text | NULL description_ar | text | NULL language | varchar(2) | NOT NULL DEFAULT 'en' document_category | varchar(255) | NOT NULL tags | longtext | NULL sector_id | bigint(20) unsigned | NULL visibility | enum('all','hub') | NOT NULL DEFAULT 'all' status | enum('pending','approved','rejected') | NOT NULL DEFAULT 'pending' download_count | int(10) unsigned | NOT NULL DEFAULT '0' rating_count | int(10) unsigned | NOT NULL DEFAULT '0' rating_average | decimal(3,2) | NOT NULL DEFAULT '0.00' created_at | timestamp | NULL updated_at | timestamp | NULL === email_verification_codes === id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL code_hash | varchar(255) | NOT NULL attempts | tinyint(3) unsigned | NOT NULL DEFAULT '0' expires_at | timestamp | NOT NULL verified_at | timestamp | NULL created_at | timestamp | NULL updated_at | timestamp | NULL === failed_jobs === id | bigint(20) unsigned | NOT NULL uuid | varchar(255) | NOT NULL connection | text | NOT NULL queue | text | NOT NULL payload | longtext | NOT NULL exception | longtext | NOT NULL failed_at | timestamp | NOT NULL DEFAULT 'current_timestamp()' === forum_likes === id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL likeable_type | varchar(255) | NOT NULL likeable_id | bigint(20) unsigned | NOT NULL created_at | timestamp | NOT NULL DEFAULT 'current_timestamp()' === forum_posts === id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL hub_id | bigint(20) unsigned | NOT NULL post_type | enum('question','knowledge_share') | NOT NULL DEFAULT 'question' source_url | varchar(2048) | NULL source_label | varchar(50) | NULL title | varchar(255) | NOT NULL body | longtext | NOT NULL language | varchar(2) | NOT NULL DEFAULT 'en' posted_as_nickname | tinyint(1) | NOT NULL DEFAULT '1' visibility | enum('all','hub') | NOT NULL DEFAULT 'all' tags | longtext | NULL status | enum('active','closed','removed') | NOT NULL DEFAULT 'active' reply_count | int(10) unsigned | NOT NULL DEFAULT '0' like_count | int(10) unsigned | NOT NULL DEFAULT '0' view_count | int(10) unsigned | NOT NULL DEFAULT '0' is_pinned | tinyint(1) | NOT NULL DEFAULT '0' created_at | timestamp | NULL updated_at | timestamp | NULL === forum_replies === id | bigint(20) unsigned | NOT NULL forum_post_id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL parent_reply_id | bigint(20) unsigned | NULL body | longtext | NOT NULL posted_as_nickname | tinyint(1) | NOT NULL DEFAULT '1' status | enum('active','removed') | NOT NULL DEFAULT 'active' is_best_answer | tinyint(1) | NOT NULL DEFAULT '0' like_count | int(10) unsigned | NOT NULL DEFAULT '0' avg_rating | decimal(3,2) | NOT NULL DEFAULT '0.00' ratings_count | int(10) unsigned | NOT NULL DEFAULT '0' created_at | timestamp | NULL updated_at | timestamp | NULL === forum_reply_ratings === id | bigint(20) unsigned | NOT NULL forum_reply_id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL rating | tinyint(4) | NOT NULL created_at | timestamp | NOT NULL DEFAULT 'current_timestamp()' === freelance_briefs === id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL hub_id | bigint(20) unsigned | NOT NULL title | varchar(255) | NOT NULL description | text | NOT NULL required_skills | longtext | NULL preferred_sector | varchar(255) | NULL duration_estimate | varchar(255) | NULL timeline | varchar(255) | NULL budget_min_egp | int(10) unsigned | NULL budget_max_egp | int(10) unsigned | NULL budget_is_visible | tinyint(1) | NOT NULL DEFAULT '1' status | enum('open','in_progress','closed') | NOT NULL DEFAULT 'open' created_at | timestamp | NULL updated_at | timestamp | NULL === freelance_matches === id | bigint(20) unsigned | NOT NULL freelance_brief_id | bigint(20) unsigned | NULL freelance_profile_id | bigint(20) unsigned | NOT NULL seeker_user_id | bigint(20) unsigned | NOT NULL provider_user_id | bigint(20) unsigned | NOT NULL status | enum('pending','interested','declined','connected') | NOT NULL DEFAULT 'pending' seeker_consented | tinyint(1) | NOT NULL DEFAULT '0' provider_consented | tinyint(1) | NOT NULL DEFAULT '0' connected_at | timestamp | NULL seeker_message | text | NULL created_at | timestamp | NULL updated_at | timestamp | NULL === freelance_profiles === id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL hub_id | bigint(20) unsigned | NOT NULL headline | varchar(255) | NOT NULL description | text | NOT NULL services | longtext | NOT NULL sector_expertise | longtext | NULL experience_level | varchar(255) | NOT NULL availability | enum('weekends','evenings','full','unavailable') | NOT NULL DEFAULT 'weekends' rate_min_egp | int(10) unsigned | NULL rate_max_egp | int(10) unsigned | NULL rate_is_visible | tinyint(1) | NOT NULL DEFAULT '1' review_count | int(10) unsigned | NOT NULL DEFAULT '0' rating_average | decimal(3,2) | NOT NULL DEFAULT '0.00' is_active | tinyint(1) | NOT NULL DEFAULT '1' linkedin_url | varchar(255) | NULL created_at | timestamp | NULL updated_at | timestamp | NULL === hubs === id | bigint(20) unsigned | NOT NULL slug | varchar(255) | NOT NULL name_en | varchar(255) | NOT NULL name_ar | varchar(255) | NOT NULL description_en | text | NULL description_ar | text | NULL icon | varchar(255) | NULL color | varchar(255) | NULL sort_order | tinyint(3) unsigned | NOT NULL DEFAULT '0' is_active | tinyint(1) | NOT NULL DEFAULT '1' created_at | timestamp | NULL updated_at | timestamp | NULL === job_batches === id | varchar(255) | NOT NULL name | varchar(255) | NOT NULL total_jobs | int(11) | NOT NULL pending_jobs | int(11) | NOT NULL failed_jobs | int(11) | NOT NULL failed_job_ids | longtext | NOT NULL options | mediumtext | NULL cancelled_at | int(11) | NULL created_at | int(11) | NOT NULL finished_at | int(11) | NULL === job_listings === id | bigint(20) unsigned | NOT NULL posted_by | bigint(20) unsigned | NOT NULL hub_id | bigint(20) unsigned | NOT NULL job_title | varchar(255) | NOT NULL company_name | varchar(255) | NOT NULL industry | varchar(255) | NOT NULL location_city | varchar(255) | NULL job_type | enum('full_time','part_time','contract','internship') | NOT NULL description | text | NOT NULL required_skills | longtext | NULL min_experience_years | tinyint(3) unsigned | NOT NULL DEFAULT '0' salary_range | varchar(255) | NULL status | enum('active','filled','closed') | NOT NULL DEFAULT 'active' created_at | timestamp | NULL updated_at | timestamp | NULL === job_notifications === id | bigint(20) unsigned | NOT NULL job_listing_id | bigint(20) unsigned | NOT NULL cv_profile_id | bigint(20) unsigned | NOT NULL professional_user_id | bigint(20) unsigned | NOT NULL employer_user_id | bigint(20) unsigned | NOT NULL message | text | NULL status | enum('pending','accepted','declined','connected') | NOT NULL DEFAULT 'pending' professional_consented | tinyint(1) | NOT NULL DEFAULT '0' employer_consented | tinyint(1) | NOT NULL DEFAULT '0' connected_at | timestamp | NULL created_at | timestamp | NULL updated_at | timestamp | NULL === jobs === id | bigint(20) unsigned | NOT NULL queue | varchar(255) | NOT NULL payload | longtext | NOT NULL attempts | tinyint(3) unsigned | NOT NULL reserved_at | int(10) unsigned | NULL available_at | int(10) unsigned | NOT NULL created_at | int(10) unsigned | NOT NULL === migrations === id | int(10) unsigned | NOT NULL migration | varchar(255) | NOT NULL batch | int(11) | NOT NULL === notifications === id | char(36) | NOT NULL notifiable_type | varchar(255) | NOT NULL notifiable_id | bigint(20) unsigned | NOT NULL type | varchar(255) | NOT NULL data | longtext | NOT NULL read_at | timestamp | NULL created_at | timestamp | NULL updated_at | timestamp | NULL === password_reset_tokens === email | varchar(255) | NOT NULL token | varchar(255) | NOT NULL created_at | timestamp | NULL === question_bank_items === id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NULL question_bank_section_id | bigint(20) unsigned | NULL question_en | text | NOT NULL question_ar | text | NULL type | enum('multiple_choice','multi_select','rating','text','yes_no') | NOT NULL options_en | longtext | NULL options_ar | longtext | NULL rating_min | tinyint(3) unsigned | NOT NULL DEFAULT '1' rating_max | tinyint(3) unsigned | NOT NULL DEFAULT '5' is_required | tinyint(1) | NOT NULL DEFAULT '1' placeholder_en | varchar(255) | NULL placeholder_ar | varchar(255) | NULL usage_count | int(10) unsigned | NOT NULL DEFAULT '0' created_at | timestamp | NULL updated_at | timestamp | NULL === question_bank_sections === id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NULL name_en | varchar(255) | NOT NULL name_ar | varchar(255) | NULL color | varchar(20) | NOT NULL DEFAULT 'teal' sort_order | tinyint(3) unsigned | NOT NULL DEFAULT '0' created_at | timestamp | NULL updated_at | timestamp | NULL === reviews === id | bigint(20) unsigned | NOT NULL freelance_match_id | bigint(20) unsigned | NOT NULL reviewer_user_id | bigint(20) unsigned | NOT NULL freelance_profile_id | bigint(20) unsigned | NOT NULL rating | tinyint(3) unsigned | NOT NULL comment | text | NULL posted_as_nickname | tinyint(1) | NOT NULL DEFAULT '1' created_at | timestamp | NULL updated_at | timestamp | NULL === sectors === id | bigint(20) unsigned | NOT NULL slug | varchar(255) | NOT NULL name_en | varchar(255) | NOT NULL name_ar | varchar(255) | NOT NULL sort_order | tinyint(3) unsigned | NOT NULL DEFAULT '0' is_active | tinyint(1) | NOT NULL DEFAULT '1' created_at | timestamp | NULL updated_at | timestamp | NULL === sessions === id | varchar(255) | NOT NULL user_id | bigint(20) unsigned | NULL ip_address | varchar(45) | NULL user_agent | text | NULL payload | longtext | NOT NULL last_activity | int(11) | NOT NULL === survey_audience === id | bigint(20) unsigned | NOT NULL survey_id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL has_responded | tinyint(1) | NOT NULL DEFAULT '0' === survey_questions === id | bigint(20) unsigned | NOT NULL survey_id | bigint(20) unsigned | NOT NULL question_en | text | NOT NULL question_ar | text | NULL type | enum('multiple_choice','multi_select','rating','text','yes_no') | NOT NULL options_en | longtext | NULL options_ar | longtext | NULL rating_min | tinyint(3) unsigned | NOT NULL DEFAULT '1' rating_max | tinyint(3) unsigned | NOT NULL DEFAULT '5' is_required | tinyint(1) | NOT NULL DEFAULT '1' sort_order | tinyint(3) unsigned | NOT NULL DEFAULT '0' created_at | timestamp | NULL updated_at | timestamp | NULL === survey_responses === id | bigint(20) unsigned | NOT NULL survey_id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NULL respondent_name | varchar(255) | NULL respondent_title | varchar(255) | NULL respondent_company | varchar(255) | NULL respondent_gender | enum('male','female','prefer_not_to_say') | NULL respondent_age | tinyint(3) unsigned | NULL ip_address | varchar(45) | NULL answers | longtext | NOT NULL submitted_at | timestamp | NOT NULL DEFAULT 'current_timestamp()' created_at | timestamp | NULL updated_at | timestamp | NULL === surveys === id | bigint(20) unsigned | NOT NULL created_by | bigint(20) unsigned | NOT NULL title_en | varchar(255) | NOT NULL title_ar | varchar(255) | NULL description_en | text | NULL description_ar | text | NULL language | varchar(2) | NOT NULL DEFAULT 'en' audience | enum('all','hub','custom') | NOT NULL DEFAULT 'all' hub_id | bigint(20) unsigned | NULL anonymous_responses | tinyint(1) | NOT NULL DEFAULT '1' show_results_to_members | tinyint(1) | NOT NULL DEFAULT '0' closes_at | timestamp | NULL status | enum('draft','active','closed') | NOT NULL DEFAULT 'draft' response_count | int(10) unsigned | NOT NULL DEFAULT '0' link_token | varchar(64) | NULL created_at | timestamp | NULL updated_at | timestamp | NULL === user_hubs === id | bigint(20) unsigned | NOT NULL user_id | bigint(20) unsigned | NOT NULL hub_id | bigint(20) unsigned | NOT NULL is_primary | tinyint(1) | NOT NULL DEFAULT '0' joined_at | timestamp | NOT NULL DEFAULT 'current_timestamp()' === users === id | bigint(20) unsigned | NOT NULL name | varchar(255) | NOT NULL nickname | varchar(255) | NOT NULL email | varchar(255) | NOT NULL email_verified_at | timestamp | NULL password | varchar(255) | NOT NULL remember_token | varchar(100) | NULL role | enum('admin','member') | NOT NULL DEFAULT 'member' profession | varchar(255) | NULL experience_level | enum('student','fresh','junior','mid','senior','senior_10','senior_15','senior_20','veteran') | NOT NULL DEFAULT 'fresh' sector | varchar(255) | NULL bio | text | NULL avatar | varchar(255) | NULL language | enum('en','ar') | NOT NULL DEFAULT 'en' theme | enum('navy','dark') | NOT NULL DEFAULT 'navy' highly_rated_solutions_count | int(10) unsigned | NOT NULL DEFAULT '0' highly_rated_replies_count | int(10) unsigned | NOT NULL DEFAULT '0' show_real_name | tinyint(1) | NOT NULL DEFAULT '0' notify_jobs | tinyint(1) | NOT NULL DEFAULT '1' notify_freelance | tinyint(1) | NOT NULL DEFAULT '1' notify_forum | tinyint(1) | NOT NULL DEFAULT '1' notify_surveys | tinyint(1) | NOT NULL DEFAULT '1' notify_documents | tinyint(1) | NOT NULL DEFAULT '1' is_active | tinyint(1) | NOT NULL DEFAULT '1' phone | varchar(255) | NULL created_at | timestamp | NULL updated_at | timestamp | NULL