トラストチェーンシステムとは

トラストチェーンシステムとは

🔗トラストチェーンシステムとは

「信頼の連鎖」によって、地域課題の相談から解決までを導く社会実装モデル。

🧩 基本構造:信頼の4ステップ

  1. 相談:住民が不安や課題を打ち明ける
  2. 共感:中立的な窓口が利他的に受け止める
  3. 支援:信頼できる専門家や支援者が伴走
  4. 解決:課題が専門的かつ持続的に解消される
  5. 信頼スコアUP:支援した人の信頼スコアがアップする

🎯 目的と意義

  • 地域住民が「誰に相談すればいいかわからない」課題(例:相続、空き家、農地など)に対して → 信頼できる相談窓口から、専門的な支援・解決までを一気通貫で提供
  • 中立性・利他性を備えた相談窓口が、住民との信頼関係を築きながら → 専門家との連携による伴走支援を実現
  • 信頼蓄積メカニズムにより、地域内での支援ネットワークが強化されていく

🏘️ 地域展開のポイント

  • 地域ごとに異なる課題に対応できる柔軟性
  • 既存の制度や専門家ネットワークとの接続
  • 住民の声を起点としたボトムアップ型の支援設計

💡補足アイデア

  • 信頼スコア相談履歴の可視化による信頼の定量化
  • 地域内の支援者マップ専門家レジストリの整備
  • デジタルプラットフォーム化による相談のハードル低減

7/20 AM8:00 テーブルから作成してみる。


--
-- テーブルの構造 tcs_consultant_profiles
--
CREATE TABLE tcs_consultant_profiles (
  id bigint UNSIGNED NOT NULL,
  user_id bigint UNSIGNED NOT NULL,
  municipality varchar(100) DEFAULT NULL,
  affiliation_party varchar(100) DEFAULT NULL,
  public_contact text,
  term_start date DEFAULT NULL,
  term_end date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- テーブルの構造 tcs_consultation_assignments
--

CREATE TABLE tcs_consultation_assignments (
  id bigint UNSIGNED NOT NULL,
  consultation_entry_id bigint UNSIGNED NOT NULL,
  consultant_id bigint UNSIGNED NOT NULL,
  assigned_by bigint UNSIGNED DEFAULT NULL,
  assigned_at timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- テーブルの構造 tcs_consultation_entries
--

CREATE TABLE tcs_consultation_entries (
  id bigint UNSIGNED NOT NULL,
  counselee_id bigint UNSIGNED NOT NULL,
  subject varchar(255) DEFAULT NULL,
  description text,
  status enum('pending','assigned','closed') DEFAULT 'pending',
  created_at timestamp NULL DEFAULT NULL,
  updated_at timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- テーブルの構造 tcs_consultation_notes
--

CREATE TABLE tcs_consultation_notes (
  id bigint UNSIGNED NOT NULL,
  consultation_entry_id bigint UNSIGNED NOT NULL,
  consultant_id bigint UNSIGNED NOT NULL,
  summary text NOT NULL,
  issues text,
  needs text,
  recorded_at timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- テーブルの構造 tcs_roles
--

CREATE TABLE tcs_roles (
  id bigint UNSIGNED NOT NULL,
  name varchar(50) NOT NULL,
  description text
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- テーブルの構造 tcs_specialist_assignments
--

CREATE TABLE tcs_specialist_assignments (
  id bigint UNSIGNED NOT NULL,
  consultation_entry_id bigint UNSIGNED NOT NULL,
  specialist_id bigint UNSIGNED NOT NULL,
  assigned_by bigint UNSIGNED DEFAULT NULL,
  assigned_at timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

CREATE TABLE tcs_specialist_profiles (
  id bigint UNSIGNED NOT NULL,
  user_id bigint UNSIGNED NOT NULL,
  specialty_area varchar(100) DEFAULT NULL,
  license_type varchar(100) DEFAULT NULL,
  office_name varchar(100) DEFAULT NULL,
  contact_info text,
  available_regions text
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

CREATE TABLE tcs_trust_scores (
  id bigint UNSIGNED NOT NULL,
  specialist_id bigint UNSIGNED NOT NULL,
  consultation_entry_id bigint UNSIGNED NOT NULL,
  score int NOT NULL DEFAULT '1',
  reason text,
  recorded_by bigint UNSIGNED DEFAULT NULL,
  recorded_at timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

CREATE TABLE tcs_users (
  id bigint UNSIGNED NOT NULL,
  name varchar(100) NOT NULL,
  email varchar(255) NOT NULL,
  password varchar(255) NOT NULL,
  role_id bigint UNSIGNED NOT NULL,
  created_at timestamp NULL DEFAULT NULL,
  updated_at timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

ALTER TABLE tcs_consultant_profiles
  ADD PRIMARY KEY (id),
  ADD KEY user_id (user_id);
ALTER TABLE tcs_consultation_assignments
  ADD PRIMARY KEY (id),
  ADD KEY consultation_entry_id (consultation_entry_id),
  ADD KEY consultant_id (consultant_id),
  ADD KEY assigned_by (assigned_by);

--

-- テーブルのインデックス tcs_consultation_entries

ALTER TABLE tcs_consultation_entries
ADD PRIMARY KEY (id),
ADD KEY counselee_id (counselee_id);

--

-- テーブルのインデックス tcs_consultation_notes

ALTER TABLE tcs_consultation_notes
ADD PRIMARY KEY (id),
ADD KEY consultation_entry_id (consultation_entry_id),
ADD KEY consultant_id (consultant_id);

--

-- テーブルのインデックス tcs_roles

ALTER TABLE tcs_roles
ADD PRIMARY KEY (id);

--

-- テーブルのインデックス tcs_specialist_assignments

ALTER TABLE tcs_specialist_assignments
ADD PRIMARY KEY (id),
ADD KEY consultation_entry_id (consultation_entry_id),
ADD KEY specialist_id (specialist_id),
ADD KEY assigned_by (assigned_by);

--

-- テーブルのインデックス tcs_specialist_profiles

ALTER TABLE tcs_specialist_profiles
ADD PRIMARY KEY (id),
ADD KEY user_id (user_id);

--

-- テーブルのインデックス tcs_trust_scores

ALTER TABLE tcs_trust_scores
ADD PRIMARY KEY (id),
ADD KEY specialist_id (specialist_id),
ADD KEY consultation_entry_id (consultation_entry_id),
ADD KEY recorded_by (recorded_by);

--

-- テーブルのインデックス tcs_users

ALTER TABLE tcs_users
ADD PRIMARY KEY (id),
ADD UNIQUE KEY email (email);

--

-- ダンプしたテーブルの AUTO_INCREMENT

--

-- テーブルの AUTO_INCREMENT tcs_consultant_profiles

ALTER TABLE tcs_consultant_profiles
MODIFY id bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--

-- テーブルの AUTO_INCREMENT tcs_consultation_assignments

ALTER TABLE tcs_consultation_assignments
MODIFY id bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--

-- テーブルの AUTO_INCREMENT tcs_consultation_entries

ALTER TABLE tcs_consultation_entries
MODIFY id bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--

-- テーブルの AUTO_INCREMENT tcs_consultation_notes

ALTER TABLE tcs_consultation_notes
MODIFY id bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--

-- テーブルの AUTO_INCREMENT tcs_roles

ALTER TABLE tcs_roles
MODIFY id bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--

-- テーブルの AUTO_INCREMENT tcs_specialist_assignments

ALTER TABLE tcs_specialist_assignments
MODIFY id bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--

-- テーブルの AUTO_INCREMENT tcs_specialist_profiles

ALTER TABLE tcs_specialist_profiles
MODIFY id bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--

-- テーブルの AUTO_INCREMENT tcs_trust_scores

ALTER TABLE tcs_trust_scores
MODIFY id bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--

-- テーブルの AUTO_INCREMENT tcs_users

ALTER TABLE tcs_users
MODIFY id bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--

-- ダンプしたテーブルの制約

--

-- テーブルの制約 tcs_consultant_profiles

ALTER TABLE tcs_consultant_profiles
ADD CONSTRAINT tcs_consultant_profiles_ibfk_1 FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE;

--

-- テーブルの制約 tcs_consultation_assignments

ALTER TABLE tcs_consultation_assignments
ADD CONSTRAINT tcs_consultation_assignments_ibfk_1 FOREIGN KEY (consultation_entry_id) REFERENCES tcs_consultation_entries (id) ON DELETE CASCADE,
ADD CONSTRAINT tcs_consultation_assignments_ibfk_2 FOREIGN KEY (consultant_id) REFERENCES tcs_users (id),
ADD CONSTRAINT tcs_consultation_assignments_ibfk_3 FOREIGN KEY (assigned_by) REFERENCES tcs_users (id);

--

-- テーブルの制約 tcs_consultation_entries

ALTER TABLE tcs_consultation_entries
ADD CONSTRAINT tcs_consultation_entries_ibfk_1 FOREIGN KEY (counselee_id) REFERENCES tcs_users (id) ON DELETE CASCADE;

--

-- テーブルの制約 tcs_consultation_notes

ALTER TABLE tcs_consultation_notes
ADD CONSTRAINT tcs_consultation_notes_ibfk_1 FOREIGN KEY (consultation_entry_id) REFERENCES tcs_consultation_entries (id) ON DELETE CASCADE,
ADD CONSTRAINT tcs_consultation_notes_ibfk_2 FOREIGN KEY (consultant_id) REFERENCES tcs_users (id);

--

-- テーブルの制約 tcs_specialist_assignments

ALTER TABLE tcs_specialist_assignments
ADD CONSTRAINT tcs_specialist_assignments_ibfk_1 FOREIGN KEY (consultation_entry_id) REFERENCES tcs_consultation_entries (id) ON DELETE CASCADE,
ADD CONSTRAINT tcs_specialist_assignments_ibfk_2 FOREIGN KEY (specialist_id) REFERENCES tcs_users (id),
ADD CONSTRAINT tcs_specialist_assignments_ibfk_3 FOREIGN KEY (assigned_by) REFERENCES tcs_users (id);

--

-- テーブルの制約 tcs_specialist_profiles

ALTER TABLE tcs_specialist_profiles
ADD CONSTRAINT tcs_specialist_profiles_ibfk_1 FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE;

--

-- テーブルの制約 tcs_trust_scores

ALTER TABLE tcs_trust_scores
ADD CONSTRAINT tcs_trust_scores_ibfk_1 FOREIGN KEY (specialist_id) REFERENCES tcs_users (id),
ADD CONSTRAINT tcs_trust_scores_ibfk_2 FOREIGN KEY (consultation_entry_id) REFERENCES tcs_consultation_entries (id),
ADD CONSTRAINT tcs_trust_scores_ibfk_3 FOREIGN KEY (recorded_by) REFERENCES tcs_users (id);
COMMIT;

ユーザとかロールなどは他のテーブルとぶつかるので、この際、このプロジェクト用のテーブルにはすべて接頭辞tcs_を付けました。

これでテーブルができたので、ざっと画面、コントローラをつくっていきます。

ここで朝風呂にはいり、さあ頭も心もすっきりとしたところで

 株式会社 iPLUS ONE