概要
============
人気商品のゲリラ発売や、売り切れ後の入荷が行われるサイトの在庫監視プログラムの開発
担当
============
ー 自分用に使うプログラムとして、要件定義・設計・実装・保守を担当した。
使用技術
============
- Node.js,Discord.js
課題
============
以下のような課題点があり、このプロジェクトに至った。
- 昨今のコロナ禍により、人気商品の発売は店頭ではなくオンライン上での発売が多くなってきた。また、フリマアプリの普及により転売目的の購入者も多く、一次販売で購入できない場合、定価を上回る金額での二次流通でしか手に入れるしかなかった。
- ランダムリリース時の発売時間や、完売後の入荷は一般的に通知されることがなく、突然行われるため確実に手に入れるためには常にサイトで張り付いて置かないと行けないが現実的には不可能であった。
取り組み
============
- node.jsで駆動するバッチアプリケーション上で、設定ファイルで指定した周期でサイトにアクセスしページを取得するタスクを開発し、一定間隔で最新のサイクルと前回のサイクルの在庫を比較し変化があったらDiscordへ通知を行う。Discordへの通知方法に関してはdiscord.jsを用いた。
これらの取り組みによって、自分のサーバーに参加している友人達の希望商品の定価購入確率を大幅に上げることができた。
工夫した点
============
- 従来のバッチアプリケーションでは、1サイトごとに専用のプログラムを作成しており開発速度が遅くどのプログラムを動かしているかの管理も大変だった。
1プログラムで複数のサイトを監視できるように、各サイトごとにページ取得・在庫比較・通知送信を持ったメソッドを持つクラスファイルを作成してそれぞれのメソッドを呼び出す処理を共通化するように設計を変更した。