通知機能の基盤実装
スペース内での活動に対する通知機能の基盤を実装する。
要件
- ページ編集時の通知
- 編集提案時の通知
- メンバー招待時の通知
- 通知の既読管理
- メール通知のON/OFF設定
技術的要件
NotificationRecord
モデルの作成- 通知生成のためのサービス層
- 通知表示用のコンポーネント
- メール通知のためのジョブ・メーラー
データベース
create_table :notifications do |t|
t.uuid :id, primary_key: true, default: "generate_ulid()"
t.uuid :space_member_id, null: false
t.string :type, null: false # PageEditNotification, etc
t.string :title, null: false
t.text :body
t.boolean :read, default: false
t.uuid :related_id # 関連するレコードのID
t.string :related_type # 関連するレコードの型
t.timestamps
end