Jumpaku Dinner

Jumpaku Dinnerのデモンストレーション画像
Jumpaku Dinnerのデモンストレーション
https://dinner.jumpaku.net

はじめに

夜ご飯決定アプリ「Jumpaku Dinner」を開発・公開し,その成果をLT大会で発表しました. 以下では,

  • Jumpaku Dinnerとは何か
  • どのように使えば良いか
  • どのように動作しているか
  • なぜ制作したか
  • 感想
  • 質疑応答

などを述べます.

Jumpaku Dinnerとは何か

Jumpaku Dinnerは,ある日の夜ご飯として何を作るかを決定するためのWebアプリケーションです. ページ(https://dinner.jumpaku.net)を開くと,ランダムに一つの料理が選択され,その料理の料理名,写真,材料,一言コメントが表示されます.

どのように使えば良いか

「今日の夜ご飯何食べたい?」「なんでも良い」「なんでも良いは困る!」

そんな会話に覚えはありませんか? 夜ご飯で作るものを決められない親,食べられればなんでも良い子供,そういった方がこのアプリに従うことで,喧嘩することなく夜ご飯を決定することができます. 他にも自炊したいけど,何を作ったら良いか分からない一人暮らしの大学生も同様です.

使い方は以下の通りで非常に簡単です.

  1. 今日の夜ご飯はJumpaku Dinnerに従うと心に決める.
  2. Jumpaku Dinnerのページを開く.
  3. Jumpaku Dinnerに提示された夜ご飯を作って食べる.

どのように動作しているか

https://dinner.jumpaku.netで公開しているJumpaku Dinnerの概要を以下に示します.

Jumpaku Dinnerの概要を表す図
Jumpaku Dinnerの概要
Jumpaku Dinnerのフロントエンドは,TypeScriptとReactで記述され,webpackによりビルドされます. Jumpaku Dinnerのバックエンドではhttpdが動作しており,ビルドされたリソースをサーブしています. これらをまとめたDockerイメージはDocker Hubで公開しています.

なぜ制作したか

2020年5月頃より,私は自炊した料理の写真をTwitter(Jumpaku@Jumpaku)にアップロードするようになりました. そして写真は2020年9月頃には50枚程度まで増えていましたが,一方で,作りたい料理は無くなっていきました.

また,その頃,プログラミングに関する活動として競技プログラミングAtCoder)やVPSの管理などしかしておらず,久しくアプリ開発をしていませんでした. そのため,私の開発欲は高まっていました.

そんな中で,私のフォロワのツイートによりあるイベント(【学生限定】秋のLT大会 2020 Online)が開催されること知りました. cist-lt.connpass.com そしてこのLT大会の開催日は,私がそれを知った日の翌日でした.

増えた写真,減りゆく自炊,高まる開発欲,迫る締め切り,VPSの活用,そして発表機会. その時,すべての点が線でつながりました.

「明日までに一人ハッカソンで夜ご飯決定アプリ「Jumpaku Dinner」を制作してVPSで公開し,LT大会で発表しよう!」

そう思い至った私はすぐに参加登録をし,環境構築から開発をスタートしたのでした.

以上の経緯により,Jumpaku Dinnerを制作しました.

感想

  • 自分で撮った写真を活用したアプリを制作できて良かった.
  • 自分にとって役に立つアプリを制作できて良かった.
  • VPSで動作させるサービスが増えて良かった.
  • 締め切りに追われながらの一人ハッカソンは,スリリングで楽しかった.
  • 完成した成果を発表でき,さらにTwitter等で反応を頂けて嬉しかった.

質疑応答

LT大会で発表した際に,「短期間で完成させるためにはどうしたら良いか?」という質問をいただきました. これに対し,「短期間で完成させられる程度まで要求を低くしていけば良い.」と答えました. これは,言い換えると,とりあえず動くものを作成するということです. このことは,開発時に意識してやっていたわけではないのですが,質問されたことにより,何かを完成させるために大事なことの一つとして自覚することができました. こういったことも含めて発表して良かったと思います.

まとめと展望

  • 夜ご飯決定アプリ「Jumpaku Dinner」を制作しました.
  • 自分のVPSでJumpaku Dinnerを公開しました.
  • 開発成果をLT大会で発表しました.

今後,今回の成果をプロトタイプとして,構成の見直しや機能の追加をしてさらに発展させていきたいと考えています. 具体的にはデータをデータベースで管理することとした上で,「My夜ご飯管理機能」と「今日の夜ご飯共有機能」をWeb APIとして実装したいと考えています.

リンク