Portfolio/Mental Health Tracker

Mental Health Tracker

日々のメンタルヘルスを記録し、セルフケアをサポートするWebアプリケーション

LaravelPHPPostgreSQLTailwind CSSAlpine.jsChart.js

実際の画面の様子

ダッシュボード

ダッシュボード画面

記録一覧

記録一覧画面

プロジェクト概要

日々の気分、睡眠時間、服薬状況などを記録し、必要に応じて認知行動療法の手法を用いて思考を整理することができます。 自己管理とメンタルヘルスケアをサポートするツールです。
データをグラフで可視化することで、自分の心の状態を客観的に振り返ることができます。

主な機能

ダッシュボード

  • 統計情報の表示(総記録数、今週の平均気分・睡眠・服薬率)
  • 過去7日間の気分推移グラフ
  • 最近の記録3件の表示

メンタルヘルス記録

  • 気分スコア(1〜10段階)、睡眠時間、服薬記録、日記・メモの記録
  • 過去30日間の推移グラフ(気分スコア・睡眠時間)
  • 記録の作成・編集・削除機能

薬の管理

  • 服用中の薬の登録・編集・削除(名前・用量・服用タイミング・メモ)
  • 服用タイミング別(朝/昼/夕/夜/就寝前)の管理
  • 使用中/停止中のステータス管理
  • 記録作成時に登録済みの薬から選択可能

心の整理(認知行動療法)

  • 7つのコラム法による思考記録(状況、気分・感情、自動思考、根拠、反証、適応的思考、その後の気分)
  • 部分的な記入でも保存可能
  • ヘルプ機能で使い方を確認可能

認証・セキュリティ

  • ユーザー登録・ログイン機能
  • プロフィール管理
  • 自分の記録のみ閲覧・編集可能

使用技術

バックエンド

  • • PHP 8.3
  • • Laravel 12
  • • PostgreSQL
  • • Laravel Breeze(認証機能)

フロントエンド

  • • Blade(テンプレートエンジン)
  • • Tailwind CSS(スタイリング)
  • • Alpine.js(軽量JavaScriptフレームワーク)
  • • Chart.js(グラフ描画)

インフラ・開発環境

  • • Railway(デプロイ・ホスティング)
  • • WSL2 (Ubuntu)
  • • VSCode

工夫した点

1. 継続しやすいUI設計

記録作業が負担にならないよう、シンプルで分かりやすいUIを心がけました。 必須項目を最低限にし、部分的な入力でも保存できる設計で手軽に記録できるようにしています。

2. 多角的なアプローチ

単なる記録だけでなく、認知行動療法の7つのコラム法を取り入れることで、 思考パターンを客観的に見つめ直す機会を提供しています。

3. データの可視化

Chart.jsを使用して、気分の推移や睡眠時間の変化をグラフで表示しているため、 視覚的に自分の状態を把握できるようにしています。

4. 柔軟な服薬管理

定期的な服薬だけでなく、頓服や一時的な薬も記録可能です。 朝/昼/夕/夜などタイミング別の管理ができるため、服薬状況を柔軟に管理できます。

開発の背景

これまで学んできた心理学や福祉の視点、自身の経験などを生かして、 身近な人たちのセルフケアをサポートできるツールを作りたいと考え、開発しました。

また、Laravel/PHPの学習とCRUD操作の実装経験を積む目的も兼ねており、 実用的なアプリケーション開発を通じて技術を学んでいます。