世界に平和のメッセージを。ゼロ知識証明で所有権を守る。
多言語対応の平和メッセージ投稿アプリケーション。パスフレーズによる所有権認証とゼロ知識証明による検証機能を搭載。
平和への想いを世界に向けて発信し、ゼロ知識証明技術によってメッセージの所有権を証明できるアプリケーションです。
- 6言語対応: 日本語・英語・中国語・韓国語・フランス語・ドイツ語
- ゼロ知識証明: メッセージ所有権の安全な証明
- モノクローム設計: 洗練された白・黒・グレーのデザイン
- レスポンシブ対応: デスクトップ・モバイル最適化
-
メッセージ投稿システム
パスフレーズ認証による安全なメッセージ投稿 -
ゼロ知識証明生成
暗号学的手法による所有権証明の生成 -
多言語インターフェース
グローバルユーザーに対応した6言語サポート -
リアルタイム更新
新しいメッセージの自動表示
# リポジトリのクローンと依存関係インストール
git clone <repository-url>
cd peace-message
npm install
# 開発サーバーの起動
npm run dev開発サーバーが起動したら、http://localhost:3000 でアプリケーションを確認できます。
- Node.js 18.17+ (推奨: 20.x 以上)
- npm 9.0+ または yarn/pnpm
- Next.js 15.1.6 - App Router、Server Components
- React 19.0 - UIライブラリ
- TypeScript 5.x - 型安全性
- Tailwind CSS 3.4 - スタイリング
- Radix UI - アクセシブルUIコンポーネント
- Framer Motion - アニメーション効果
- React Hook Form - フォーム管理
- Zod - スキーマバリデーション
- @hookform/resolvers - バリデーター統合
- Zustand - 軽量状態管理
- class-variance-authority - スタイルバリアント管理
- clsx & tailwind-merge - クラス名ユーティリティ
- Cloudflare Workers - エッジ配信 (OpenNext.js)
npm run dev # 開発サーバー起動 (Turbopack)
npm run build # プロダクションビルド
npm run start # プロダクションサーバー起動
npm run lint # ESLintチェック
npm run cf:build # Cloudflare Workers用ビルド
npm run cf:deploy # ビルド&デプロイ📂 src/
├── 📂 app/ # Next.js App Router
│ ├── 📄 page.tsx # メインページ
│ ├── 📄 layout.tsx # ルートレイアウト
│ └── 📄 globals.css # グローバルスタイル
├── 📂 components/ # UIコンポーネント
│ ├── 📂 ui/ # 基礎UIコンポーネント
│ │ ├── 📄 button.tsx # ボタンコンポーネント
│ │ ├── 📄 card.tsx # カードコンポーネント
│ │ ├── 📄 dialog.tsx # ダイアログコンポーネント
│ │ ├── 📄 input.tsx # 入力フィールド
│ │ └── 📄 textarea.tsx # テキストエリア
│ ├── 📄 waiting-screen.tsx # 待機画面・メッセージフィード
│ ├── 📄 message-post-dialog.tsx # メッセージ投稿ダイアログ
│ ├── 📄 proof-generation-dialog.tsx # 証明生成ダイアログ
│ └── 📄 language-switcher.tsx # 言語切り替え
├── 📂 lib/ # ユーティリティ
│ ├── 📄 i18n.ts # 国際化設定
│ ├── 📄 mock-data.ts # モックデータ
│ └── 📄 utils.ts # 共通関数
├── 📂 hooks/ # カスタムフック
│ └── 📄 use-language.ts # 言語管理フック
└── 📂 types/ # TypeScript型定義
└── 📄 peace-message.ts # メッセージ型定義
📂 public/ # 静的ファイル
└── 📄 next.svg # Next.jsロゴ
📂 設定ファイル
├── 📄 wrangler.toml # Cloudflare Workers設定
├── 📄 open-next.config.ts # OpenNext.js設定
├── 📄 tailwind.config.ts # Tailwind CSS設定
└── 📄 next.config.ts # Next.js設定
- 日本語 (ja) - 🇯🇵 日本語
- 英語 (en) - 🇺🇸 English
- 中国語 (zh) - 🇨🇳 中文
- 韓国語 (ko) - 🇰🇷 한국어
- フランス語 (fr) - 🇫🇷 Français
- ドイツ語 (de) - 🇩🇪 Deutsch
src/lib/i18n.tsで翻訳データを管理useLanguageフックによる動的言語切り替え- フォント最適化(日本語・中国語・韓国語対応)
- メッセージ投稿時にパスフレーズを設定
- 証明生成時に同じパスフレーズを入力
- ゼロ知識証明を生成してQRコード表示
- 第三者がメッセージ所有権を検証可能
- パスフレーズの暗号学的ハッシュ化
- プライバシー保護(パスフレーズ非開示)
- 改ざん検知機能
- プライマリ: 純白 (#FFFFFF) / 純黒 (#000000)
- セカンダリ: グレースケール (50-900)
- アクセント: なし(モノクローム徹底)
- ミニマル: 余計な装飾を排除
- 高級感: 白・黒・グレーによる洗練
- 可読性: コントラスト最適化
- アクセシビリティ: WCAG 2.1準拠
# ワンコマンドデプロイ
npm run cf:deploy
# またはステップ別
npm run cf:build # ビルド
npx wrangler deploy # デプロイ# Wrangler CLI インストール
npm install -g wrangler
# Cloudflare認証
wrangler loginwrangler.toml- Cloudflare Workers設定open-next.config.ts- OpenNext.js設定(R2キャッシュ統合)
mainブランチから feature ブランチを作成- 変更を実装しコミット
- Pull Request を作成
- レビュー後、
mainにマージ - Cloudflare Workers に自動デプロイ
© 2025 Peace Message. All rights reserved.