LoginSignup
336

More than 1 year has passed since last update.

サイゼリヤ1000円ガチャをつくってみた(Heroku + Flask + LINEbot)

Last updated at Posted at 2018-09-22

Progateを一度やった程度のプログラミング初心者ですが、
何かWebアプリケーションを作りたいなぁと思い、Flaskを学ぶついでに
サイゼリヤのメニューから1000円以内で組合せを出してくれるガチャを作りました。

2022.10.31 追記

Heroku有料化に伴い、以下をお知らせ致します。

  • LINE Bot版 サービス終了
  • Web版 旧アドレス(herokuapp.com)からのリダイレクト停止

2019.5.10 追記

Twitterで紹介頂いたようで、たくさんの方から反応を頂いていてびっくりしております!
メニューが古いままだと、何かと店舗側にもご迷惑をおかけしそうだったので、
本日時点でのグランドメニューに更新させていただきました。

非公式であることをご了承の上、店舗ではマナーを守って楽しんで頂ければ本望です!
(たくさん注文して食べ残す・・・などが起こらないことを祈ってます)

また、Tweetボタンやガチャ条件を絞る機能など、諸々ご意見いただきましたので
参考にしながらゆったり実装できたらな、と思っていますのでよろしくお願いいたします。

2019.04.01 追記

2018.9月時点のグランドメニューのみとなります。
メニューの更新に対応する予定はございません

できたもの

Webアプリ

サイゼリヤ1000円ガチャ
スクリーンショット 2018-09-22 21.39.14.png

LINE Bot

上限50人のプランなので、登録できないかもしれません。
内容はWebアプリ版と同じです。

Heroku有料化に伴いLINE Bot版はサービス終了しました

結構意外な組み合わせでも1000円以下で、改めてサイゼコスパ高!ってなりますね。

どちらもHeroku無料枠でデプロイしているのでアクセスに時間がかかるときがあります。
(30分でスリープしてしまうため)まぁ非公式なのでお楽しみ程度ということで。

モチベーション

Webアプリ作成の勉強のためにFlaskとSQL使ってみたかった。
LINEbotはちょこちょこ使っていて、インターフェースとして良いなぁと感じていたので
データベースを使って何かをするbotで簡単なもの、ということでガチャかなと。

なんでサイゼリヤかというと、単純に好きだからっていうのもあるんですが、
けっこう「サイゼリヤで何を頼むか」っていうのがネット記事でもネタになってるんですよね↓
実用性+ネタで面白そうだと感じたためです。

参考

使ったもの

  • Heroku
  • LINE Messaging API
  • Flask
  • SQLAlchemy(SQLite)

ソースコードはgithubに置いてあります。
メニューはグランドメニューで100種類ちょっとなので手打ちでcsv→dbに入れました。
本当は勉強がてらスクレイピングしたかったんですが、画像データだったので・・・。

参考にしたページ

:star: Flask チュートリアル
めちゃくちゃ参考にした。
一度通してやるだけで掲示板的なWebアプリを作れます。
SQLAlchemyの使い方やHerokuへのデプロイまで解説してくれています。

また、SQLの叩き方などは以下を参考にしました。

HerokuとLINEbotの繋ぎこみはこちら

感想

初心者でもこんなに簡単につくれるんだ!と思いました。
特にHerokuやLineAPIなどのインフラがあるおかげで、Pythonのコードを少し学ぶだけで
ある程度形にできるちゃうところが凄い。

ガチャで出たメニューを実際に頼んでみた、みたいな人が現れるといいな笑

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
336