LAUDE.mdの更新が完了しました。変更内容:
最終更新日 → 2026-02-25 プロジェクト構造 → mail/ と settings/password/ ページを追加 データモデル概要 → MailSender, MailEmail, MailNotificationToken を追加 実装状況 → メールフィルタリング機能を本番稼働済みに更新、パスワード変更機能を追加 マスタードキュメントリンク → document/11_マスタードキュメント_メール通知関連編.md を追加 トラブルシューティング → 本番デプロイコマンド(--env-file .env.production 必須)を冒頭に追加 更新履歴 → 今回の変更を記録
This commit is contained in:
54
CLAUDE.md
54
CLAUDE.md
@@ -1,6 +1,6 @@
|
||||
# Keina System - Claude 向けガイド
|
||||
|
||||
> **最終更新**: 2026-02-21
|
||||
> **最終更新**: 2026-02-25
|
||||
> **現在のフェーズ**: Phase 1 (MVP) - 基本機能実装完了、試験中
|
||||
|
||||
## 📌 このファイルの目的
|
||||
@@ -83,7 +83,13 @@ keinasystem_t02/
|
||||
├── allocation/ # 作付け計画編集画面(メイン)
|
||||
├── fields/ # 圃場一覧・詳細
|
||||
├── reports/ # 申請書ダウンロード
|
||||
└── import/ # データ取込画面
|
||||
├── import/ # データ取込画面
|
||||
├── mail/
|
||||
│ ├── feedback/[token]/ # フィードバックページ(認証不要)
|
||||
│ ├── history/ # メール処理履歴
|
||||
│ └── rules/ # 送信者ルール管理
|
||||
└── settings/
|
||||
└── password/ # パスワード変更
|
||||
```
|
||||
|
||||
---
|
||||
@@ -126,6 +132,25 @@ Variety (品種マスタ)
|
||||
├── crop (FK to Crop)
|
||||
├── name (品種名)
|
||||
└── unique_together = ['crop', 'name']
|
||||
|
||||
MailSender (送信者ルール)
|
||||
├── email (EmailField, nullable)
|
||||
├── domain (CharField, nullable)
|
||||
├── rule ('never_notify' | 'always_notify')
|
||||
└── ConstraintCheck: email/domain どちらか一方のみ
|
||||
|
||||
MailEmail (受信メール記録)
|
||||
├── account (xserver/gmail/hotmail等)
|
||||
├── message_id (unique)
|
||||
├── sender_email, sender_domain
|
||||
├── subject, body_preview
|
||||
├── received_at, llm_verdict (important/not_important)
|
||||
├── notified_at (LINE通知日時、nullable)
|
||||
└── feedback (important/not_important/never_notify/always_notify, nullable)
|
||||
|
||||
MailNotificationToken (フィードバックURL用トークン)
|
||||
├── email (OneToOne FK to MailEmail)
|
||||
└── token (UUID, unique)
|
||||
```
|
||||
|
||||
### 重要な設計判断
|
||||
@@ -216,15 +241,19 @@ Variety (品種マスタ)
|
||||
- 共通 LinkModal コンポーネント
|
||||
7. **メールフィルタリング機能**(Windmill連携):
|
||||
- Django `apps/mail` アプリ(MailSender, MailEmail, MailNotificationToken)
|
||||
- Windmill向けAPI(APIキー認証): `GET /api/mail/sender-rule/`, `GET /api/mail/sender-context/`, `POST /api/mail/emails/`
|
||||
- Windmill向けAPI(APIキー認証): `GET /api/mail/sender-rule/`, `GET /api/mail/sender-context/`, `POST /api/mail/emails/`, `GET /api/mail/stats/`
|
||||
- フィードバックAPI(認証不要・UUIDトークン): `GET/POST /api/mail/feedback/<token>/`
|
||||
- ルール管理API(JWT認証): `GET/POST/DELETE /api/mail/senders/`
|
||||
- ルール管理API(JWT認証): `GET/POST/DELETE /api/mail/senders/`, `PATCH /api/mail/emails/<pk>/feedback/`
|
||||
- フィードバックページ: `/mail/feedback/[token]`(LINEからタップ一発、認証不要)
|
||||
- ルール管理ページ: `/mail/rules/`
|
||||
- 処理履歴ページ: `/mail/history/`
|
||||
- 対応アカウント: Gmail(有効)、infoseek.jp(Outlook→Gmail転送で対応、To:ヘッダで判別)、Hotmail/Xserver(flow.jsonでenable可能)
|
||||
- 仕様書: `document/メールフィルタ/mail_filter_spec.md`
|
||||
- Windmill フロー: `f/mail/mail_filter`(ローカル: localhost, 本番: windmill.keinafarm.net — 本番デプロイ未実施)
|
||||
- 対応アカウント: Gmail × 2、Xserver × 6(本番稼働中)
|
||||
- Windmill フロー: `f/mail/mail_filter`(本番: windmill.keinafarm.net にデプロイ済み、10分間隔スケジュール)
|
||||
- マスタードキュメント: `document/11_マスタードキュメント_メール通知関連編.md`
|
||||
8. **パスワード変更機能**:
|
||||
- Backend: `POST /api/auth/change-password/`(JWT認証、`ChangePasswordView` in `keinasystem/urls.py`)
|
||||
- Frontend: `/settings/password` ページ
|
||||
- Navbar: KeyRound アイコンボタン(ログアウトボタンの左隣)
|
||||
|
||||
### 🚧 既知の課題・技術的負債
|
||||
|
||||
@@ -277,6 +306,15 @@ Phase 2 のタスクに進む段階。
|
||||
|
||||
## 🔍 トラブルシューティング
|
||||
|
||||
### 本番デプロイコマンド(必須)
|
||||
|
||||
```bash
|
||||
# ⚠️ --env-file .env.production を必ず付けること(省略するとSECRET_KEYが空でbackendが起動しない)
|
||||
ssh keinafarm-claude 'cd /home/akira/keinasystem_t02 && \
|
||||
docker compose -f docker-compose.prod.yml --env-file .env.production build && \
|
||||
docker compose -f docker-compose.prod.yml --env-file .env.production up -d'
|
||||
```
|
||||
|
||||
### マイグレーションエラー
|
||||
|
||||
```bash
|
||||
@@ -312,6 +350,7 @@ docker-compose exec backend python manage.py migrate
|
||||
ソースコード参照不要なレベルで記載されている。ソース確認が必要な場合もファイル名と行番号の索引がある。
|
||||
|
||||
- **圃場管理機能**: `document/10_マスタードキュメント_圃場管理編.md`
|
||||
- **メール通知機能**: `document/11_マスタードキュメント_メール通知関連編.md`
|
||||
|
||||
### 設計ドキュメント(プロジェクト横断)
|
||||
|
||||
@@ -336,6 +375,7 @@ docker-compose exec backend python manage.py migrate
|
||||
|
||||
## 📝 更新履歴
|
||||
|
||||
- 2026-02-25: CLAUDE.md更新。パスワード変更機能追記。メールフィルタリング機能を本番稼働済みに更新。マスタードキュメント `document/11_マスタードキュメント_メール通知関連編.md` リンク追加。デプロイコマンド(`--env-file .env.production` 必須)をトラブルシューティングに追加
|
||||
- 2026-02-22: メールフィルタリング機能を実装。`apps/mail` Django app、Windmill向けAPI(APIキー認証)、フィードバックページ、ルール管理ページを追加。仕様書: `document/メールフィルタ/mail_filter_spec.md`
|
||||
- 2026-02-21: マスタードキュメント体系を導入。`document/10_マスタードキュメント_圃場管理編.md` を追加。セッション推奨フローにマスタードキュメント参照を追加
|
||||
- 2026-02-18: E-2(対応付け可視化・紐づけ管理)仕様追加。画面設計書・差異レポート・次タスク一覧を更新。完了済みタスク(A-8, D-1〜D-4, E-1)を既知の課題から除外
|
||||
|
||||
Reference in New Issue
Block a user