0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【個人開発】デスクトップ版todo管理アプリをリリースしました

0
Last updated at Posted at 2026-04-02

なんで作ったのか

・日々のtodoリストにNotionを使ってたけどNotionってたまに反応が遅くて不便
・Googleカレンダーで予定表管理していてそれぞれの管理が分散していたのがネックだった
・手早くローカルで長期的に管理可能なアプリを作成してみることにした

■ github

■ 概要

本アプリは、カレンダー・タスク管理・日記を一体化した
デスクトップ向けタスク管理アプリです。

PySide6(Qt for Python)を用いて、
直感的な操作性と視認性を重視したUI設計で実装しています。

  • 日々のタスク管理(Todo)
  • 週・月単位の目標管理
  • 日記・メモ記録
  • 達成率の可視化

を一つの画面で統合したカレンダー型アプリです。

一般的なタスク管理ツールでは分断されがちな

  • 「日単位の行動」
  • 「週・月単位の目標」
  • 「実行結果(達成率)」

を一元管理できるよう設計しています。

■ 動作イメージ

exe起動画面
※exeファイルと同ディレクトリに.dbデータが作成・保存されます。

image

各日付をクリックすると入力欄へ遷移する
入力してウインドウを閉じると保存される
image


■ 特徴

  • カレンダー中心のUIで直感的に操作可能
  • 日付ごとにタスクを直接登録・編集
  • タスクはチェックボックス形式で管理
  • チェック時刻に応じて「午前 / 午後」で自動分類
  • カレンダー上にタスク内容をプレビュー表示
  • 今日 / 今週 / 今月の達成率をリアルタイム表示
  • 日単位でメモ(振り返り)を記録可能

■ 開発背景

GoogleカレンダーやNotionなど複数ツールで
タスク管理を行っていたが、

  • 情報が分散する
  • 達成状況が可視化しづらい
  • 一画面で俯瞰できない

といった課題があったため、
カレンダー・タスク・目標を統合したツールとして開発しました。


■ 技術スタック

  • Python 3.x
  • PySide6(Qt for Python)
  • SQLite(ローカルデータベース)

■ 主な機能

カレンダー機能

  • 月間カレンダー表示
  • 日付クリックでタスク入力
  • カレンダー上にタスクを表示

タスク管理

  • チェックボックス形式で管理
  • Enterで連続入力可能
  • 未完了タスクの管理

目標管理

  • 今週 / 今月の目標設定
  • チェックによる進捗管理

達成率表示

  • 今日 / 今週 / 今月の達成率を自動算出

日記機能

  • 日ごとのメモ保存
  • 振り返り用途に対応

■ 実行方法

pip install PySide6
python todo_diary_app.py

■ データ保存

SQLite(ローカル)
todo_diary_app.db に保存

■ 感想

・AIコーディングスタイルでローカル完結型のツールを作成してみてSQLiteのDBを利用したシステム構築の初歩は理解できた
・前回の家計簿アプリの応用で作成。デザインや細かい修正は今後使っていきながら手を加える予定
・今後は他のツール作成にも挑戦してみたい。Go言語などを使用しての連携など
・1,000行ほどで作成できたがリファクタリングや最適化などは課題

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?