導入
こんにちは。
前回の記事
「ガジェット価格は予測できるのか?」

では、GadgetStreem独自指数
GPI(Gadget Pressure Index)
という構想を発表しました。
もちろん、構想だけで終わらせるつもりはありません。
実際にGitHub上でプロジェクトを立ち上げ、本格的な開発を開始しました。
この記事では、
Sprint 1
として何を開発したのかをご紹介します。
Sprintとは?
ソフトウェア開発では、
数か月かけてまとめて作るのではなく、
数週間ごとに小さな単位で完成させていく
「Sprint(スプリント)」
という開発スタイルが一般的です。
スプリントごとに成果物を振り返り、次の改善につなげる考え方は、アジャイル開発で広く採用されています。
GPIもこの考え方を採用し、
一歩ずつ完成へ近付けていきます。
Sprint1で完成したもの
プロジェクトの土台
まず最初に行ったのは、
コードを書くことではありません。
長く開発できる土台を整えることです。
今回整備したものは
✅ GitHub Repository
✅ ADR(設計判断)
✅ Repository設計
✅ Architecture設計
✅ Data Governance
✅ Rule Book
✅ Calculation Engine
など。
今後どれだけ規模が大きくなっても、
設計思想がぶれないようにしました。
Docker開発環境
どのPCでも
同じ環境で動作するよう、
Docker Compose環境を構築しました。
これにより
API
Database
Migration
などが
1コマンドで起動できます。
PostgreSQL導入
GPIのデータ保存先として
PostgreSQLを採用しました。
現在保存できるテーブルは
- Data Sources
- Indicators
- Observations
です。
今後、
ドル円・DRAM・NAND・GPU需給・海上運賃
などの観測データは
すべてこのDBへ蓄積されます。
Database Migration
将来DB構造が変わっても
安全に更新できるよう
Alembicを採用しました。
これにより
将来何十回DB更新しても
履歴を管理できます。
API構築
FastAPIを採用し、
REST APIの土台も完成しました。
現時点では
Health Checkのみですが、
今後
/gpi/latest
/gpi/history
/gpi/components
などが追加される予定です。
Architecture完成
プロジェクト名
GadgetStreem Intelligence
に正式決定しました。
構成は
Collector
↓
Database
↓
Calculation Engine
↓
FastAPI
↓
WordPress
となっています。
WordPressは、直接DBへ接続せず、API経由でデータを取得します。
これにより、安全性と拡張性を両立できます。
ここまでで出来るようになったこと
Sprint1終了時点では
まだGPIの数値は表示されません。
しかし、
開発基盤は完成しました。
例えるなら
まだ建物は建っていませんが、
基礎工事が終わった状態です。
この基礎があるからこそ、
今後の開発スピードは一気に上がります。
Sprint2で開発するもの
いよいよ
実際のデータ収集機能へ入ります。
開発予定は
- USD/JPY Collector
- DRAM Collector
- NAND Collector
- GPU Supply Collector
- Ocean Freight Collector
そして
最後に、『GPI Calculation Engine』を実装します。
ここまで完成すると、
GPIが実際に数値として動き始めます。
このプロジェクトの最終目標
私が目指しているのは、
単なる価格比較サイトではありません。
株式市場に
VIX(恐怖指数)やPMIがあるように、
ガジェット市場にも
「今は値上がりしやすいのか」
「今は買い時なのか」
を一目で分かる指標を作ることです。
その第一歩が、
今回のSprint1でした。
おわりに
Sprint1は終了しました。
次回からは
実際のマーケットデータが入り始めます。
いよいよ
GPIが”構想”から
“動くシステム”へ変わる瞬間です。
これからも
GadgetStreem Intelligenceの開発を
このブログで公開していきます。
ぜひ一緒に成長を見守っていただけるとうれしいです。



コメント