
きっかけ
1/22 映画「ソーシャルネットワーク」を見て、ぼーっと過ごしてる場合じゃないなと思い始めました。
アイデア
少し前に個人でWebサービスを作るのが流行っていたので、自分もやってみることにしました。ということで何か面白いアイデアがないかと本屋をぶらついていると、コミックの発売日情報が羅列されたポスター?を発見。
いつも買ってるコミックを買う時って、それまでの周期からそろそろ新刊出たかなと思ってコミックコーナーの平積みを見ることが多いので、発売のタイミングをメールか何かで通知してくれるとうれしいな。
ということでネタを決定しました。
あわよくばアフィリエイト収入も、、、
準備開始
まずは開発環境の選択。中島聡さんのブログを読んでGoogle App Engine(GAE)がおもしろそうなのでGAEに。実は1年以上前にちょっとだけ試して挫折したことがありリベンジでもあります。
1/29 Pythonもほとんど触ったことがないので、Google App Engineのヘルプにあるhelloworldのチュートリアルから始めました。
バージョン管理はGit、タスク管理はさくらVPS上に立てたRedmineを使います。
2/2 ドメインを取りました。saishinkan.com があいていたのでその場で取得。
データはどこから?
毎日本屋さんへ行って発売情報を仕入れるわけにもいかないので発売情報をを集める方法を考えます。
各出版社のサイトをクロールする、同じように発売日情報を集めてるサイトをクロールする、Amazon APIを利用する等考えましたが、順当にAmazonのAPIを利用することに。
ただよく見てみるとコミック名と巻数、ジャンプコミックスなどの情報がタイトルとして一緒に入っています。
これをよくあるパターンから正規表現を使って抜き出しています。
Amazon Product Advertising APIについてはまた後日かきたいと思います。
ユーザー
ユーザー情報はあまりもちたくないので、外部のアカウントで利用できるようにしました。まずはOAuthを使ってTwitterアカウントによるログインに対応しました。
でもTwitterだけだとちょっと障壁が高いかなとおもいパスワードによる認証も加えました。
メール送信
Google App Engineではメール送信機能があります。SMTPサーバーの心配をしなくてもいいのはありがたいです。
ただしそのメール送信プログラムのエントリポイントはHTTPリクエストで、1リクエストが長いと失敗するようなので、タスクキューに分割してメール送信キューを投げています。
公開
2/13 ログインもできるようになり、メールも飛ぶようになったので公開してみました。
Google App Engine + Pyathonをほぼ初めて触りましたが、思ったより悩むことが少なくWebサービスを構築することができました。
まだまだやりたいことがあるので引き続き開発を続けたいと思います。
ぜひ使ってみて意見ください。
Life is beautiful - google appengine に関してひと言
Amazon Product Advertising API
Google App Engine
Cacoo
[[Google App Engineで手軽にOAuthアプリを作成!(Twitterとか!) - AppEngine-OAuth]] ゼロと無限の間に
最新刊.com
