Supabase をバックエンドとした、プロジェクトベースのチケット管理アプリ。
- タイトル・詳細(Markdown)・状態・カテゴリー・担当者・期限日の設定
- 状態は
todo → in_progress → doneの3段階 - プロジェクトごとにチケット番号を自動採番(例: PM-1)
- 期限超過チケットは赤色でハイライト表示
- テーブルビュー: 一覧表示・検索・ソート
- カンバンボード: 3カラムへドラッグ&ドロップで状態変更
- チケットへのコメント投稿(Markdown 対応)
@ユーザー名でメンション → DB通知 + メール送信(Resend)- 他ユーザーのコメントへのスター → DB通知 + メール送信
- ヘッダーの通知ベルで未読通知を確認
- メンション・スター時にメールで通知
- 複数プロジェクトの作成・切り替え
- プロジェクトキー設定(チケット自動採番のプレフィックス)
- メンバー招待(メールアドレス or ユーザーID)・削除(オーナーのみ)
- デフォルトカテゴリー: バグ・機能・改善(色別バッジ表示)
- プロジェクト単位でカスタムカテゴリーを追加可能
- ドラッグ&ドロップで並び替え
- プロジェクト内でドキュメントページを作成・編集(Markdown 対応)
- 一覧検索・更新日順ソート
- Supabase Auth によるユーザー認証
- プロフィールでニックネームを設定
npm install
npm run devhttp://localhost:3000 で起動します。
.env.local に以下を設定してください。
NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
SUPABASE_SERVICE_ROLE_KEY=...
RESEND_API_KEY=...
Supabase(PostgreSQL)を使用。テーブル構成:
| テーブル | 概要 |
|---|---|
profiles |
ユーザープロフィール(ニックネームなど) |
projects |
プロジェクト |
project_members |
プロジェクトメンバーシップ(owner / member) |
tickets |
チケット(自動採番トリガー付き) |
comments |
チケットコメント |
notifications |
通知ログ |
categories |
プロジェクトカテゴリー |
wiki_pages |
Wiki ページ |