プログラマってこんなかんじ??

アプリ作ったり歌ったりしてます

LINE Bot + Pixela で日々の活動を見える化した話

  • ジョギングやボイトレ記録を Pixela でグラフ化
  • ついでにメモを Notion へ直接保存

週末にこんな LINE Bot を作ってみたら、自分には思った以上に実用的だった🙃

ジョギングをすぐサボっちゃうのを見える化して何とかしたい、Notion 公式アプリは重いのでメモとるのが面倒~と思いついたのがきっかけ。

アプリ名がださい

Notion

Pixela https://pixe.la/v1/users/daichan4649/graphs/activity

LINE で入力したらこんな感じで反映される。

(以下、プログラマ向けの内容です)

Pixela について

活動記録などを GitHub のコミットログ (草) のように可視化してくれるサービス。

pixe.la

API が非常にシンプル、ドキュメントもしっかりしているので何もハマることがなかった。ここまでしっかりしたサービスを自分も提供できるようになりたい・・と思った。

Nuxt3 + LINE Bot について

今回 LINE での入力部分 (=LINE Bot) を Nuxt3 (/server) で実現している。最近使い始めた Nuxt3 がどこまでできるか検証したかったのがその採用理由。(使いたかっただけ)

所感としては

  • LIFF と Bot が Nuxt3 だけで完結できるのはよい
  • Bot の規模が小さいなら確かにアリ
  • Bot の規模が大きめなら NestJS + Cloud Run で作るかな

ハマりポイント

正直盲点だったのだが、公式 SDK (Node.js) が「Express 前提」だった点。(Nuxt3 は基本 Nitro 前提)

ただ、調べると「Express で動作させる方法」も用意されており、

export default fromNodeMiddleware

を使えば実現可能であった。Nuxt3 よくできてる。

該当部分の実装はこんなかんじ。

gist.github.com

今回は「Express 利用部分」を別フォルダ (/server_express) に切り出して実装。Nitro 利用部分と明確に分けたかったのが理由。

自分はフロントエンド本職ではないので正直このくらいしか思いつかなかったが、もしかしたらもっと簡単に実現できるのかもしれない。有識者の方お願いします🙇

まとめ

  • Pixela は見える化に最高
  • LINE から Notion に登録~は楽でよい
  • LINE Bot はさっと公開するプラットフォームとして最高
  • Nuxt3 よくできてた

個人開発、自分が好きなものを好きに作るだけで、勝手に自身のスキル強化にもなってよいな・・と改めて思った。

Nuxt3 完全に理解した。というわけで Nuxt3 案件お待ちしています🤣

技術スタック

  • Nuxt3 (SSR), TypeScript
  • Cloud Run, Cloud Build
  • Pixela API
  • Notion API
  • LINE Messaging API

pixe.la developers.notion.com developers.line.biz developers.line.biz developers.line.biz