背景・目的
スプレッドシートやプロジェクト管理ツールでのタスク管理に飽きました。
おしゃれじゃなくていい。シンプルであってほしい。
個人開発で儲けを(ほぼ)考えないからこそできる最高にシンプルなWBS Webアプリを作ってやろうじゃないか。ということでやっていきます。
私はReact大好きマンなのでNext.jsを使っていきます。
バックエンドどうしようかなぁと思っていましたが、ちょい昔にprismaとsupabaseでなんかいい感じに(それこそシンプルに)実装を進められた記憶があるのでそれを使っていこうかなと。
作るものがシンプルなら開発環境もシンプルでありたいのだ。
【開発環境・技術スタック】
FE:Next.js(React18 , TypeScript, Next.js15)
ORM:prisma
DB:Supabase
Deployment:Vercel
UIコンポーネント:MaterialUI(要検討)
VCS:git
VCS Hosting:GitHub
デザインツール:Figma
(API設計ツール:Swagger)※やらないかも
コンポーネント設計にはFigma + Storybookを使用する予定 ※やらないかも
【機能要件】
「プロジェクト管理機能」
要素:
・プロジェクト名
・削除フラグ
・完了フラグ
(・プロジェクト完了予定日)
(・プロジェクト予想工数)
(・プロジェクト実績工数)
(・プロジェクト予算)
説明:
タスクを分類するためのプロジェクト
プロジェクトは複数のタスクを持つ
括弧で囲まれている要素は最終的に実装予定ではあるが、初期リリース時点では含めない要素
サイドバーに表示される
プロジェクトに関する作成や編集は独自の画面を持たない(モーダルやインライン編集などで管理する)
削除機能は物理的に削除されず、削除フラグによって実現される(復元可能な形にする)
「タスク機能」
要素:
・完了フラグ
・タスク名
・完了予定日
・プロジェクトID(belongs_to プロジェクト)
・削除フラグ
(・カテゴリ)
(・備考)
(・タスク予想工数)
(・タスク実績工数)
説明:
タスクは作成・編集・照会・削除の機能をもつ
タスクは一つのプロジェクトを持つ
括弧で囲まれている要素は最終的に実装予定ではあるが、初期リリース時点では含めない要素
タスク一覧またはガントチャートで表示される
削除機能は物理的に削除されず、削除フラグによって実現される(復元可能な形にする)
「その他・非機能要件」
・初期リリース時点は認証機能を持たないが、最終的に実装予定
・将来的にはシンプルなタスク管理ツールとして公開予定
・想定ブラウザはChrome
・想定デバイスはPC & SP(TBは非要件)
【画面・コンポーネント項目】
・プロジェクト & ガントチャート画面
プロジェクト全体の進捗状況と、タスクがガントチャートになっている画面が表示される
できれば月・週・日で表示範囲を変更できるようにしたい
ここの画面から直接タスクのCRUDをできるようにする
日付が登録されていないタスクは別の場所(画面下部など)に保管、そこからドラッグ&ドロップで好きな日付にタスクを登録できるようにする
・サイドバーコンポーネント(プロジェクトの一覧が常に表示されている、開閉可能)
サイドバーの「プロジェクト追加」ボタンからプロジェクトが追加できる
(・ダッシュボード画面:実績工数や予算、全プロジェクトの解析情報などをダッシュボードとして表示)
(・プロジェクト設定画面:プロジェクトにあるタスクは工数や予算を持つかどうか、プロジェクト自体の予算や完了予定日はいつか、などを設定できる画面)
※括弧で括られている画面は後ほど実装予定
【スケジュール】
・4日程度で完成できる予定
【プロジェクト規模】
・私一人!!(夜や週末で頑張る)
【予算】
・0円(利用する全てのサービスの無料枠で初期リリースまでは持っていく)
【制作進行管理】
・スプレッドシート
【主な制作方針】
- 画面・コンポーネント設計
- API設計・DB設計
- 開発環境構築
- FE開発
- API構築
- 統合
- テスト・検証・修正・調整
- デプロイ・リリース
ということでやっていきます。
次回は画面設計編〜