Skip to content

Releases: BLUE000/TaskFlow

タスク/予定管理ツール

Choose a tag to compare

@BLUE000 BLUE000 released this 13 Jul 13:29

TaskFlow v1.0.0

予定やタスクの総合管理ツール TaskFlow の最初の安定版(v1.0.0)をリリースしました。

本システムは、**Web(PHP 8.1 / MySQL 8.0)**での一般公開カレンダーと、**デスクトップアプリ(C++ / Qt 6 / SQLite 3)**によるオフライン対応の管理操作を組み合わせたハイブリッドタスクスケジュール管理システムです。


🎨 主な機能と特徴

1. Webカレンダー & ガントチャート(一般閲覧機能)

  • 日曜開始カレンダー: 月間および週間の予定を日曜日開始で直感的に一覧表示。
  • 作業負荷の過不足可視化: 時間枠ごとの合計作業時間が許容値を超えた場合、カレンダーに警告色がハイライトされ過負荷を検知。
  • ガントチャート: タスクの進捗、期間、および先行タスクとの依存関係(矢印)を自動描画。
  • リアルタイムカテゴリフィルタ: 存在するカテゴリをワンクリックで動的に絞り込み可能(開閉トグル付き)。

2. Web管理画面(管理者ダッシュボード)

  • シームレス予定登録: 最初はタイトルのみの簡易予定として登録し、後から日付や進捗を設定することで「期間予定」や「個人タスク」にシームレスにアップグレード。
  • やることメモ(日付未定): 日付が決まっていないタスクをメモとしてプールし、日付が決まったら予定へワンクリックで移行。
  • 期間分割(マルチセグメント): 1つの予定に対し、不連続な複数の期間(セグメント)を動的に追加・編集。
  • 同月内限定の繰り返し予定: 予定の無限増殖(ゾンビ化)を防ぐため、同月内のみに制限された安全な繰り返し自動複製。
  • Discord Webhook連携: 予定の登録や変更時に、設定したDiscordチャンネルへ自動で通知を送信。

3. C++ デスクトップアプリ(管理者用・オフライン対応)

  • オフライン動作: ローカルの SQLite 3 にデータを保存し、オフライン状態でもタスクの読み書きが可能。
  • 双方向同期(HTTPS API): オンライン復帰時に、Web APIを介してリモートDB(MySQL)とデータを安全にマージ。
  • ビジュアル競合解決: 同一のタスクがローカルとWebの双方で変更されていた場合、左右にデータを並べて比較し、優先するデータを選択できるダイアログを搭載。

4. セキュリティ & データ保護

  • 機密データの暗号化 (TransCipher): 予定のタイトルや詳細、Webhook URLはすべて暗号化し、Base64形式でデータベースへ保存。
  • 堅牢なWebセキュリティ対策: SQLインジェクション防止(プレースホルダー)、XSS対策(エスケープ)、CSRFトークン検証、セッションID再生成、および安全なファイルI/Oによるパスワード変更を実装。
  • 外部API(schedules.php)提供: 外部ツールからの連携用に、暗号化データのままで応答する高速な一般公開用予定取得APIを提供。

📦 同梱されている成果物(TaskFlow_v1.0.0.zip)

  • client/ : Windows用C++クライアント(windeployqtによるQt6ランタイムDLL一式を同梱し、即動作可能)。
  • web/ : Webサーバー用PHPソースコードおよびMySQL初期化用SQLスキーマ。
  • README.md : サーバーを借りる段階からの丁寧な設置マニュアル。
  • LICENSE : MITライセンスの明記。