匿名で「Matter(社会問題・個人の悩み)」を共有し、共鳴できる匿名プラットフォーム。
An anonymous platform to share and resonate with "Matters" — social issues and personal concerns.
| Layer | Technology |
|---|---|
| Frontend | React 18 + TypeScript + Vite + Tamagui |
| Backend | Go 1.22 (net/http) |
| Database | PostgreSQL 16 |
| Container | Docker + GitHub Container Registry |
- 匿名投稿 — ゲストセッション自動作成、登録不要で閲覧・投稿可能
- 2カテゴリ — 社会問題(
social_issue)/ 個人の悩み(personal_concern) - 位置情報プライバシー — 座標→JISコード変換(国土地理院API)、個人の悩みは市区町村レベルのみ
- AIモデレーション — 投稿・リアクションを審議キューで管理、著者のみ flagged 箇所を波線表示
- 4テーマ — Standard Light/Dark、Universal Senior(WCAG AAA)、Universal Children
- 収益化 — コンテキスト広告枠・支援ボタン(匿名インプレッションログ)
matter-reson/
├── backend/ # Go API サーバー
│ ├── cmd/server/ # エントリーポイント
│ ├── config/ # 設定・DB接続
│ ├── errors/ # AppError 型
│ ├── handlers/ # HTTP ハンドラー
│ ├── middleware/ # CORS・Auth・SecurityHeaders
│ ├── models/ # データモデル
│ └── services/ # ビジネスロジック・テスト
├── frontend/ # React フロントエンド
│ ├── src/
│ │ ├── components/ # UI コンポーネント
│ │ ├── hooks/ # カスタムフック
│ │ ├── pages/ # ページコンポーネント
│ │ ├── utils/ # ユーティリティ関数
│ │ └── __tests__/ # vitest テスト
│ ├── Dockerfile
│ └── nginx.conf
├── db/
│ └── schema.sql # PostgreSQL スキーマ
├── scripts/
│ ├── build-and-push.sh # ビルド & ghcr.io プッシュ
│ ├── deploy.sh # VPS デプロイ
│ └── rollback.sh # ロールバック
├── docker-compose.yml # ローカル開発用 DB
└── docker-compose.prod.yml # VPS 本番用