はじめに
遠足に持っていく駄菓子を予算内に最大化するためのサービスを作りました。
まだ、駄菓子の数は少ないかもしれませんが、これから増やしていきたいと思います。
サービスはこちらで公開しています。
モチベーション
今回このサービスを作ろうと思った理由は2つあり、
- 一つ目は、自分が駄菓子を買う際の目安を知りたかったから
- 二つ目は、子供たちが遠足に駄菓子を持っていくとしたら、欲しい駄菓子を持っているお金で喜びを最大化して欲しいと思ったから
です。
実装内容
実装している内容は、予算内に自分の欲しい駄菓子に対して、ナップザック問題を用いて予算の中で欲しい度合いを最大にするように計算して求めるようにしています。
ナップザック問題とは、上限の中で点数が高くなるように選択する問題のことです。
例えば、
例えば…重さと「おいしさの点数」の場合、この「おいしさの点数」が高くなるようにお菓子を選ぶ問題のことです。
- チョコ:重さが2kg、おいしさの点数:10点
- グミ:重さが1kg、おいしさの点数:6点
- クッキー:重さが3kg、おいしさの点数:12点
- キャラメル:重さが2kg、おいしさの点数:7点
以下のように値が計算されます。
チョコ(2kg・10点)+グミ(1kg・6点) → 3kg、合計16点
グミ(1kg・6点)+キャラメル(2kg・7点) → 3kg、合計13点
クッキー(3kg・12点) → 3kg、12点
チョコ(2kg・10点)+キャラメル(2kg・7点) → 4kg、17点 ← これが一番いいことになります。
技術面
技術面ではVue.jsを使用してアプリケーションを作成し、そのアプリケーションをfirebaseに乗せています。
以下の記事を参考にしました。

Vue.jsとFirebaseで簡単なWebアプリを作る - Qiita
概要Vue.jsとFirebaseを使って簡単なWebアプリを作るやり方の備忘録です。完成したものこのチュートリアルで作成し、デプロイしたWebアプリのリンクです。(2つとも中身は同じです)…
改善点
払い出した直後ではありますが、改善点を幾つか見つけました。
現在の改善点としては以下です。
- Google adsenseを入れる
- やはり収益化はしておきたい
- タイトルがまだデフォルトのまま
- スマホだと使いにくい
- スマホの表示だと以下のようになり、非常に見にくいです。。。

次回アップデート時に対応します。
最後に
このサービスで、子供たちを少しでも笑顔にできればいいなと思います。