Bambu Bar
Monitor Bambu Lab printers from your Mac menu bar: print progress, the live camera, AMS filament, alerts and desktop widgets. Bambu Bar for macOS 26+.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
夫婦で育児タスク・記録・スケジュールを共有するWebアプリケーション。 • フロントエンド: Next.js (App Router) + React + TypeScript • スタイリング: Tailwind CSS • UI/アイコン/グラフ: lucide-react, recharts • バックエンド/DB: Supabase (PostgreSQL, Auth, Storage) • ホスティング: Vercel 詳細な設計方針は基本設計書を参照してください。 http://localhost:3000 を開くとアプリが表示されます。Read the full README ↗
夫婦で育児タスク・記録・スケジュールを共有するWebアプリケーション。
詳細な設計方針は基本設計書を参照してください。
npm install
cp .env.local.example .env.local
# .env.local に Supabase の値を設定
npm run dev
http://localhost:3000 を開くとアプリが表示されます。
.env.local)| 変数名 | 用途 |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabaseプロジェクトの URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabaseの公開anonキー |
src/
app/
page.tsx # トップページ(SukusukuAppを読み込み)
login/ # ログイン・サインアップ画面
family-setup/ # 家族の作成・招待コード参加画面
auth/confirm/ # メール確認リンクのコールバック
components/sukusuku/
SukusukuApp.tsx # アプリ本体(状態管理・タブ/モーダルの組み立て)
tabs/ # ホーム/予定/記録/保活/設定の各タブ
modals/ # タスク追加・詳細の各モーダル
lib/
dateUtils.ts / uiUtils.ts / seedData.ts
nursingTimer.ts # 母乳の左右別ストップウォッチ + 経過時間のお知らせ
feedingSchedule.ts # 次の授乳の目安(前回の授乳 + 間隔)の計算
alarm.ts # ビープ音の合成・バイブ・画面スリープ抑止のラッパー
supabase/client.ts # ブラウザ用Supabaseクライアント
supabase/server.ts # サーバー用Supabaseクライアント
types/app.ts # ドメイン型定義
supabase/migrations/
0001_init_schema.sql # テーブル定義 + RLSポリシー
0002_storage.sql # 書類箱用Storageバケット + ポリシー
0010_calendar_fields.sql # カレンダー用カラム(日付・時刻・ラベル・リマインダー)
src/types/supabase.ts)/login, /family-setup)記録タブで残せるのはミルク(授乳)・おむつ・搾乳の3つ。
飲ませる量は「どの搾乳を使ったか」で決まるため、残量を1つの数字で持たず、ためた搾乳を 1パックずつ持つ。ミルクの記録で「搾乳」を選ぶと、まだ使っていないパックの一覧から使うものを 選び、選んだパックの合計がそのまま記録する量になる。
details.pumpedFrom に搾乳の記録のid)。
搾乳の記録そのものは書き換えないので、授乳の記録を消せばその搾乳はストックに戻る。care_logs の type = 'pumping'(ためた分)と
type = 'milk' かつ details.method = 'pumped'(飲ませた分)で表す。睡眠(ねんね計測)の記録は取り止めた。すでに保存されている type = 'sleep' の行は
DBに残したまま、アプリ側では取得しない。
授乳中は手が離せず画面を見られないため、母乳の左右別ストップウォッチ
(src/lib/nursingTimer.ts)に、一定間隔で音とバイブを鳴らす仕組みを載せている。
画面を狭くしないよう、間隔・音・バイブを切り替える表示は記録画面から外してあり、
端末に控えてある設定(なければ既定の5分間隔・音とバイブON)でそのまま鳴る。
unlockAudio() を呼んでいる。navigator.vibrate。iOS Safariは非対応なのでボタンを無効化し、音でお知らせする。
ブラウザは画面が消えている/裏に回っている間の振動要求を無視するため、鳴らし損ねた分は
控えておき、アプリに戻ってきた時点(visibilitychange)で振動させ直す。
ユーザー操作起点で鳴らすときは、音の準備を待つ前に先に振動させる。setInterval)で動かし、SukusukuApp から
useNursingAlarmWatcher() で起動する。記録タブを開いていなくても鳴り、読み込み直後に
計測が残っていた場合も再開する。画面を消している間はサーバーから鳴らす。 上の回避策を重ねてもなお、画面が消えている・
アプリを閉じている間は端末内のタイマーだけでは鳴らせない(iPhoneは振動もできない)。
そこで鳴らす基準を nursing_alarms に預けておき、端末が鳴らせなかった分を
Edge Function send-nursing-alarms が Web Push で鳴らす。計測そのものは今までどおり
端末内で完結していて、預けるのは「いつ・何分ごとに鳴らすか」だけ。
通知をオンにしていない端末では預け先が無いので、これまでどおり端末内でだけ鳴る。
→ docs/notifications.md
授乳が終わったころには次が何時だったか分からなくなり、夫婦で「次はいつだっけ?」と 確かめ合うことになる。前回の授乳の記録から一定の間隔をおいた時刻を「次の目安」として 画面に出し、その時刻に通知する。
NextFeedingCard)。目安の時刻・残り時間・
前回からの進み具合のバー・前回の時刻を1枚にまとめている。ホームのカードはタップすると
記録タブへ移る。type = 'pumping')は飲ませた記録ではないので数えない。feeding_settings)。夫婦で違う目安が出ては意味がないため。
設定タブで2〜4時間を30分刻みで選ぶ。既定は3時間。listRecentMilkLogs)。パートナーの端末で記録された分を拾えるよう、
アプリに戻ってきた時点(visibilitychange)で取り直す。目安の時刻に通知する。 家族のうち通知をオンにしている端末すべてへ、
Edge Function send-feeding-reminders が Web Push で送る(設定でオフにできる。
オフにしても画面の表示は出る)。定期実行が1分おきなので、目安の時刻と同じ分のうちに届く。
授乳中(母乳のストップウォッチを計測中)の家族には送らない。記録は授乳が終わってから
保存されるため、飲ませている最中に「そろそろ次の授乳」が届いてしまうのを避けている。
→ docs/notifications.md
This is the beginning of the README. Read the rest at the original. Read the full README ↗