AWSハッカソン2026用リポジトリ — Wantify スマートショッピングプラットフォーム
Wantify は、Amazon・楽天市場・Yahoo!ショッピング・ヨドバシカメラの価格を自動監視し、最安値アラートとパーソナライズされた購入提案を提供するスマートショッピング支援プラットフォームです。
システムアーキテクチャの図解ドキュメントです。以下の内容が含まれています。
| セクション | 内容 |
|---|---|
| 1. システム全体構成 | クライアント〜DB まで全レイヤーの関係を俯瞰した ASCII 図 |
| 2. レイヤー構成の概要 | 各レイヤーのコンポーネントと役割の一覧表 |
| 3. コアサービス層の詳細 | 6 つのサービス(ウィッシュリスト・価格比較・通知・レコメンデーション・ダッシュボード・エンゲージメント)と主要メソッド |
| 4. 価格収集フロー | スケジューラー → Celery → スクレイパー → 通知送信までの処理の流れ |
| 5. 監視モード状態遷移 | 通常監視 / 高頻度監視 / 一時除外の状態変化 |
| 6. 通知フロー | 重複排除・禁止時間帯・自動再送ロジックの流れ |
| 7. データモデル概要 | テーブル間のリレーション(USER・WISHLIST_ITEM・PRICE_RECORD など) |
| 8. キャッシュ戦略 | Redis のキーと TTL 一覧 |
| 9. 技術スタック一覧 | FastAPI / React / PostgreSQL / Redis / Celery / FCM / SendGrid |
| ファイル | 内容 |
|---|---|
requirements.md |
6 つの機能領域の要件定義(ウィッシュリスト・価格比較・通知・レコメンデーション・ダッシュボード・エンゲージメント) |
design.md |
システム設計・アーキテクチャ・データモデル・正確性プロパティ・テスト戦略 |
tasks.md |
実装タスク一覧(タスク 1〜9、サブタスク含む) |
| レイヤー | 技術 |
|---|---|
| バックエンド | Python + FastAPI |
| フロントエンド | React + TypeScript |
| データベース | PostgreSQL |
| キャッシュ / キュー | Redis + Celery |
| 通知 | Firebase Cloud Messaging + SendGrid |
| テスト | pytest + Hypothesis(プロパティベーステスト) |