🛰️ Comet Syosetsu 機能紹介
最終更新: 2025/10/31
◆ Comet Syosetsu とは
Comet Syosetsu は個人開発中の小説投稿・閲覧プラットフォームです。読者の「発見性 (Discovery)」と「継続読書 (Retention)」を最初期から意識し、 タグ / 期間別ランキング / 読書履歴 / ブックマークフォルダといった機能を優先実装しています。
◆ 投稿周り (Authoring)
- 作品作成(タイトル / あらすじ / 公開ステータス)
- 最初の章を同時投稿(Markdown 対応エディタ)
- 後から章の追加・編集・削除
- 作品編集画面で表紙差し替えやステータス変更
◆ 発見性 (Discovery)
- タグ付け: 1作品 最大8タグ / バリデーション(文字数・禁止文字)
- タグ入力サジェスト: 使用頻度上位・部分一致で提案
- タグフィルタ: ホームで複数タグ OR 条件検索 (URL クエリ同期)
- 作品詳細 → タグクリックでそのタグ検索へ遷移
- 期間別ランキング: 日 / 週 / 月 / 総合 (マテビュー + 手動再集計 API)
- 再集計ボタン: 管理用の一時的 UI (将来 cron 自動化予定)
今後: タグ AND / スコア減衰 / 関連タグ推薦 / 使用回数表示強化
◆ 継続読書 (Retention)
- 読書履歴: サーバー同期 (直近読んだ章を記録 / 続きから読む)
- ローカル進捗: IntersectionObserver で読了判定 & スクロール復元
- ブックマーク: ワンクリック保存 & 数表示
- ブックマークフォルダ: 複数フォルダ作成 / 割当モーダル / リネーム / 削除
- 履歴ページ: 最近の読書進捗一覧表示
◆ データ品質 / オペレーション
- タグサニタイズ: 先頭 # 除去 / 全角・半角トリム / 重複排除
- 無効タグ除外時のフラッシュ通知 (グローバル Flash Provider)
- ランキング再集計 API + ヘッダシークレット (暫定)
- 型定義 (TypeScript) とバリデーション関数分離
◆ 技術スタック
- Next.js (Pages Router) + React + TypeScript
- Supabase (Auth / Postgres / Storage)
- Tailwind CSS + DaisyUI カスタムテーマ (comet / cometDark)
- Markdown エディタ (プレビュー対応)
- Postgres: Materialized View による期間別ランキング
◆ 今後の予定 (Roadmap Snapshot)
- ランキング自動再集計 (Edge Function + Cron)
- タグ AND 条件 / 高度検索 UI
- タグ使用頻度表示とサジェスト精度改善
- 章予約公開 / 連続更新バッジ
- 分析ダッシュボード (PV / 継続率 / タグ別流入)
- おすすめ (共起タグ / 類似読書パターン)
◆ フィードバック歓迎
機能追加のアイデアや不具合報告があればぜひお知らせください。開発優先度 (Discovery → Retention → Analytics) に沿って、低摩擦で価値の高い改善から反映していきます。