目次
- 目次
- はじめに
- Amazon Discount Notification
- Webアプリの登録方法
- 割引通知メール
- システム構成
- インフラ: heroku
- Webサーバ: Bottle
- データベース: redis
- デザインテンプレート: bootstrap
- 最後に
- 参考資料
- MyEnigma Supporters
はじめに
無料で作る自作Webアプリ第六弾です。
(過去のアプリは末尾のリンクを参照下さい)
今回は初めて、サーバサイドに力を入れて、
データベースを使うことと、Webサーバだけでなく
サーバサイドのバッチ処理も利用することを
技術的目標に掲げました。
そこで、以前から自分自身が欲しいなぁと思っていた、
Amazon商品(現状はKindle本のみ)の割引を
自動でメール通知してくれるWebサービスを作りました。
最近、AmazonのKindle本が通常の本とは異なり、
期間限定の値引きをしていることが多いです。
[ま]Kindleストアのセール本を見逃すな!僕はこうやってチェックしています @kun_maa - [ま]ぷるんにー!(พรุ่งนี้)
Amazon Kindleで「【最大50%OFF】KADOKAWA春の大キャンペーン」開催中:新書を中心に約500タイトルが大幅値引き! : SOCIETAS [ソキエタス]
[ま]Kindleストアのセール本を見逃すな!僕はこうやってチェックしています @kun_maa - [ま]ぷるんにー!(พรุ่งนี้)
しかし、値引きする時は、大量の本が値引きされるので、
自分が欲しい本が値引きされているかを
いちいちチェックするのは面倒です。
また、急に一日だけ値引きされることも多かったので、
気付かないことも防ぎたいなと思っていました。
そこで、これらの問題を解決するために作ったのが、
今回のWebサービスです。
Amazon Discount Notification
今回のWebアプリのリンクはこちらです。
amazon-discount-notification.herokuapp.com
このWebアプリは、
事前にAmazonの欲しいものリスト(Wish list)のURLと、
メールアドレスを登録すると、
定期的に欲しいものリスト内の
Amazonの商品データをチェックし、
先ほどのアドレス先に
自動で割引を通知を実施してくれます。
Webアプリの登録方法
このWebアプリでは、
最初に欲しいものリストのURLと、
Emailアドレスを登録する必要があります。
まず初めに下記のリンクからAmazonの
欲しいものリストのページに移動します。
続いて、下記のスクリーンショットのように、
欲しいものリストの文字の横にある
非公開というボタンを押します。
そして、下記の画面が出てくるので、
公開/非公開のタブから、
リンクをシェアを選びます。
最後に
欲しいものリストのページの右側にある
下記の"共有する"ボタンを押すと表示される
固定リンクのURLをコピーし、
そのURLを先ほど登録フォームに入力します。
Emailアドレスは
割引通知メールを受け取りたいアドレスを入力し、
Registrationボタンを押します。
あとは自動的に、
毎日夜11時頃に下記の割引通知メールが送られてきます。
割引通知メール
割引通知のメールは、
というメールアドレスから、
毎日日本時間の11時に
下記のようなフォーマットで送信されます。
通知メールサンプル
システム構成
システム構成は下記の通りです。
詳しい説明はそれぞれの説明記事を参照下さい。
インフラ: heroku
現状、無料枠のみで運用しています。
自分以外のユーザが利用しているようなら、
有料プランにするつもりです。
また、メール送信はアドオンのSparkPostを
バッチ処理はアドオンのHeroku Schedular
を使っています。
Webサーバ: Bottle
ブックマークレットからのURL自動入力は、
bottleのダイナミックルーティングを使いました。
URLの中にURLを入れたかったので、
スラッシュを@に一度変換して、
それをbottle内で元に戻す処理をしています。
(こうゆう時はどうすればいいのか今後調べてみる予定です)
データベース: redis
herokuのアドオンであるHeroku redisの無料版を使っています。
RDBよりも個人的にはredisの方が使いやすいです。
デザインテンプレート: bootstrap
なんだか最近bootstrapレベルが上がっていないので、
書籍でも買って勉強しようかなと思っています。
最後に
かなりシンプルですが、
元々自分が作りたいようなものが最近作れるようになってきたので、
かなり楽しくなって来ました。
まだ、いくつか作りたいものがあるため、
少しづつ勉強と開発を進めていこうと思います。
また、このツールもどんどん改良していく予定です。
参考資料
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。