https://github.com/yuuka-dev/obatlog
服薬管理 過量チェックを目的としたWebアプリ
https://github.com/yuuka-dev/obatlog
firebase nextjs webapp
Last synced: 2 months ago
JSON representation
服薬管理 過量チェックを目的としたWebアプリ
- Host: GitHub
- URL: https://github.com/yuuka-dev/obatlog
- Owner: yuuka-dev
- License: other
- Created: 2026-03-22T08:37:58.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-03-26T18:47:30.000Z (3 months ago)
- Last Synced: 2026-03-27T02:52:40.158Z (3 months ago)
- Topics: firebase, nextjs, webapp
- Language: TypeScript
- Homepage: https://obatlog.com
- Size: 829 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# ObatLog
[](https://github.com/yuuka-dev/obatlog/actions/workflows/ci.yml)
[](https://www.typescriptlang.org/)
> **過量チェックもできる服薬記録アプリ**。薬の "飲んだ" を記録し、過量(OD)を防止する個人向けツール。

## 公開先
- **Webアプリ** : [ObatLog — 服薬記録・過量チェック](https://obatlog.com/)
- **デモ版** : [https://obatlog.com/demo](https://obatlog.com/demo)
## 概要
このプロジェクトは私自身のお薬のみ忘れ防止のために開発した。
飲み忘れという課題を、メール通知というアプローチで解決しています。
### なぜ作ったのか
精神科の薬を服用していると、「今日もう飲んだっけ?」「何錠飲んだっけ?」という場面が日常的に起こる。飲み忘れも過量摂取も、どちらも体調に直結する問題。既存のアプリは多機能すぎたり、医療従事者向けだったりして、個人がサクッと使えるものが少なかった。
ObatLog は医療機器レベルを目指すのではなく、**個人の生活改善ツール**として「記録する」「飲みすぎを防ぐ」「飲み忘れを通知する」の3つに絞ったシンプルな服薬記録アプリ。
## 主な機能
- 服薬記録(飲んだ錠数 + Undo)
- 薬の登録(名前、1日上限、通知設定)
- 1日上限チェック(OD防止)
- OD記録(気分タグ + メモ)
- 過去ログ表示(直近30件、日付グルーピング)
- 通知(FCM プッシュ + メール)
- PWA対応(オフライン動作)
- 多言語対応(日本語・英語・インドネシア語)
- レスポンシブ(モバイル: タブナビ / デスクトップ: サイドバー)
## 技術スタック
| カテゴリ | 技術 | 用途 |
|---------|------|------|
| フレームワーク | Next.js (App Router) | SSG / 静的エクスポート |
| UI | React + Tailwind CSS | コンポーネント + スタイリング |
| PWA | Serwist (@serwist/next) | Service Worker、オフラインキャッシュ |
| 認証 | Firebase Auth | メール/パスワード認証 |
| DB | Firestore | NoSQL ドキュメントベース |
| API | Firebase Functions v2 (Express) | REST API (asia-northeast1) |
| 通知 | FCM + Microsoft Graph API | Web Push / メール通知 |
| ホスティング | Firebase Hosting | 静的エクスポート配信 |
| 言語 | TypeScript | フロント・バックエンド共通 |
## アーキテクチャ
Next.js で静的エクスポートした SPA を Firebase Hosting で配信し、全データ操作は Firebase Functions v2(Express)経由で Firestore にアクセスする構成。クライアントからの Firestore 直接アクセスは全拒否し、API は Firebase Auth の ID トークン検証を必須としている。
詳細は [docs/architecture.md](docs/architecture.md) を参照。
## はじめ方
### 前提条件
- Node.js 22+(フロントエンド)/ Node.js 20+(Functions)
- Firebase CLI
- Firebase プロジェクト
### セットアップ
```bash
git clone https://github.com/yuuka-dev/obatlog.git
cd obatlog
npm install
cp .env.example .env.local # Firebase 設定を記入
npm run dev
```
Functions:
```bash
cd functions
npm install
npm run build
```
## ライセンス
独自ライセンス(EULA)。詳細は [LICENSE](LICENSE)(英語)/ [LICENSE-ja](LICENSE-ja)(日本語)を参照。