このプロジェクトについて

Open Civic Signal OSは、モノレポとして提供されるシビックテクノロジー・プラットフォームです。その目的は、住民から報告される繰り返される地域の問題という「コミュニティ信号」を、人々が理解し、信頼し、行動に移せる公開バックログに変換することです。 製品の約束は2つの視点から説明されています。市民にとっては、「平易な言葉で実際の地域問題を報告し、なぜそれが優先されたかを確認し、何が変わり、誰が対応し、何が保留されているかを追跡する」というパスです。公務員やコミュニティリーダーにとっての目標は、「ノイズを減らし、重要な事項を優先的に表面化させ、優先順位付けの根拠となるエビデンスを可視化したままにすること」です。 ドキュメント化されたユーザージャーニーは、以下の3つのロールをカバーしています: - コミュニティメンバー:問題の報告、重複を避けて既存の課題を支持すること、課題がなぜ高優先度であるかの理解、コミュニティや機関からの更新情報の追跡。 - コミュニティモデレーターまたはコーディネーター:コミュニティの会話のレビュー、明確な役割境界に基づいた進捗状況の公開、議論チャネルの利用可能性と監査可能性の維持。 - 公務員:最高優先度の問題を迅速に特定し、進捗状況を公開し、透明性のあるエビデンスを用いてアクションの順序を正当化すること。 READMEでは、現在のUX上のギャップについて率直に述べられています。リポジトリとアプリケーションは技術的なプラットフォームについては十分に説明していますが、初回ユーザーにとってナビゲーションやワークフローの選択肢が早すぎる段階で提示されすぎています。そのため、現在進行中のフロントエンド作業は、初回実行体験の簡素化、主要アクションの明確化、および認知負荷の軽減に焦点を当てています。製品の方向性には、よりシンプルなファーストスクリーンの階層、より明確な主要コールトゥアクション、摩擦の少ないオンボーディングと検証、アクセシブルなキーボードおよびモバイルナビゲーション、そして専門用語を使わずにランキングと進捗を説明する信頼性の高いインターフェースが含まれています。 ドキュメント化された技術スタックは以下の通りです: - バックエンド:Java 21とSpring Boot(apps/api-javaに配置)、APIおよび優先順位付けサービスをホスト。 - フロントエンド:React、TypeScript、Vite(apps/web-reactに配置)、公開ダッシュボードとオペレーターコンソールを提供。 - データ:現在のMVPではJSONファーストとし、PostgreSQLを計画済みとして記載。 - コントラクト:packages/contracts配下にOpenAPI定義と共有スキーマを配置。 - その他のディレクトリ:infra(ローカル環境およびデプロイ資産)、docs(戦略、アイデア、アーキテクチャ、実行計画)。 プロジェクトの実行について:標準的な統合開発ランタイムはDockerであり、npm run docker:dev:upで起動します。READMEでは、これがフロントエンドとバックエンドを同時にホットリロードするための必須パスであると説明されています。サポートコマンドには、docker:dev:doctor、docker:dev:ps、docker:dev:logs、docker:dev:downのほか、本番に近いモード(docker:prod:up)や、.github/workflows/docker-images.ymlのCIイメージワークフローを備えたプリビルド済みのGHCRイメージ(docker:ghcr:up / docker:ghcr:down)があります。READMEでは、統合的な動作を検証する際、Dockerが利用できない場合は回避策を探るのではなく、ローカル環境のブロッカーとして扱うよう明示的に求めています。現在のMVP向けに、npm installやnpm run prioritizeなどのスクリプトも用意されています。個別の作業向けにコンポーネントのみのフォールバックパスも存在し、apps/web-react内でnpm run devを実行してReactアプリを起動したり、apps/api-java内で./mvnw spring-boot:runを実行してJava APIを起動したりすることが可能です。 その他のリポジトリ資料には、ローンチリソース(デモおよびアーキテクチャのGIF、アーキテクチャSVG、docs配下のランディングページ、アイデア文書、エージェントプレイブック)、ブランドおよびビジュアルアセットキット(ロゴマーク、ワードマーク、バナー、ソーシャルカード、PNGロゴ)、およびGitHub issuesによるロードマップ追跡が含まれます。 全体として、このリポジトリは初期段階の、オープンにドキュメント化された市民参加および優先順位付けプラットフォームです。市民と管理者の意図されたジャーニーを定義し、Spring BootとReactコンポーネントを備えたDockerベースのモノレポ開発フローを提供し、APIコントラクトをリポジトリ内で管理し、残されたUX簡素化作業をオープンにリストアップしています。