KNOT / schedule-share について

KNOT schedule share article cover

予定の話、チャットのやり取り、写真メモ、イベントの準備。友人同士で何かを進めていると、情報がいろいろな場所に散らばってしまうことがあります。

KNOT は、そうした日常のやり取りをひとつの場所にまとめるために作っている Web アプリです。リポジトリ上の名前は schedule-share で、友人同士の予定共有や連絡をもっと扱いやすくすることを目指しています。

KNOTでやりたいこと

もし、カレンダーは別アプリ、写真は別の場所、話し合いはチャットの奥の方、という状態になっているなら、あとから見返すのが少し大変です。KNOT では、予定を立てる、話す、写真を残す、必要ならイベントや清算も扱う、という流れを同じ場所で見られるようにしたいと考えています。

  • メッセージ共有とリアルタイムチャット
  • 予定・カレンダー・シフト表の共有
  • 写真メモやアップロード画像の管理
  • イベント、通知、グループ管理
  • 清算メモや周辺ツールの追加

技術構成

サーバー側は Node.js / Fastify を中心にしていて、データ管理には Prisma を使っています。リアルタイムなチャットには Socket.IO、写真やメディアの扱いには S3 互換ストレージや署名付き URL を使う構成です。

フロント側は静的ファイルをビルドして配信する形で、PWA や Service Worker も扱っています。スマホで開いた時に表示が崩れないか、日本語が文字化けしていないかも大事なので、QA用のスモークテスト、レイアウト確認、UTF-8チェックも用意しています。

運用の考え方

本番運用は Proxmox / LXC 上で動かす前提で整えています。アプリ本体、データベース、メディア保存を分けておくと、更新や復旧の手順を整理しやすくなります。

開発環境では、通常ユーザーには見えないテストログインも用意しています。これはローカル開発中だけ使える仕組みにして、本番環境では無効化されるようにしています。使いやすくする部分と、公開時に守る部分を分けるための工夫です。

今後の方向

KNOT は、単なる予定共有アプリというより、仲間内の活動を支える小さなポータルに近い位置づけです。チャット、予定、写真、イベント、通知、メモをつなげながら、遊びや作業の準備がしやすい場所にしていきます。

これからも、実際に使いながら少しずつ整えていく予定です。スマホ表示、通知、写真編集、グループ権限、イベント周りなど、使う人が迷わず触れる形に近づけていきたいです。