##概要・開発背景
RemiCalは予定の管理を簡単に行うためのカレンダーLINEbotです。
既存の予定管理botはテキスト入力による予定追加が主流でしたが、画像やファイルから予定情報を認識して登録できるものは少ないと感じました。そこで、より直感的に使える予定管理ツールを目指して開発しました。
##機能
- 予定の追加(テキストや画像からの予定抽出)
- 予定のリマインド通知
- 予定の変更(予定名を指定して変更)
- 予定の削除
- 予定一覧表示
- 予定検索
##使用技術
- React
- JavaScript
- Node.js
- Express
- LINE Messaging API
- Google Generative AI
- MySQL
##工夫した点
- 画像やファイルから予定情報を抽出するためにGoogle Generative AIを使用し、日時や予定名を自動で解析する仕組みを実装した
- テキスト入力と画像・ファイル入力の両方に対応することで、利用シーンを限定しない柔軟な設計にした
- テキスト入力による予定追加時に、Googleカレンダーへ予定を登録できるようにした
- 予定をデータベースに登録することで長期的な予定管理を可能にした
##苦労した点
- 関数の汎用性をどこまで高めるかの設計が難しく、同じ処理をどの単位で共通化するべきか試行錯誤した
- 正規表現による文字列処理において、入力形式の揺れに対応する設計が難しかった
##実行方法
- リポジトリをクローンする
- 必要な環境変数を
.envファイルに設定し、依存関係をインストールする - サーバーを起動する
- 起動時に表示されるURLをLINE DevelopersコンソールのWebhook URLに設定する。
##今後の展望
- より複雑な自然言語入力への対応
- 画像やファイルから予定情報を抽出した場合にもGoogleカレンダーに登録できる機能の追加
- ユーザが入力形式で迷わず操作できるようにメニュー欄を作成し、操作性をさらに向上させる