#IPアプリ 開発メモ 基本方針

全体像

  • ユーザー画面は Vue.js + Firebase
  • 管理画面およびサーバーロジックは PHP Laravel + AWS EC2
  • データベースは AWS Aurora / Aurora Serverless


※ 結局、Lambda は使用しないことに決定した

※ 本番環境は Aurora、テスト環境は Aurora Serverless を使用する

※ 開発環境は、ローカルに MySQL データベースを構築


より具体的には、以下を実現する

  • ユーザー認証は Firebase Auth を使用する
  • 一次データベースは Firebase Cloud Firestore を使用する
  • 二次データベースは Aurora を使用する
    • 一次データは最終更新から24時間以上経過していれば同期する


将来的には、以下の実装を予定している

  • Firebase Cloud Firestore のデータを AWS DynamoDB に移行
  • AWS Lambda + Python を使用したチャットボットの実装

など


Firebase Cloud Firestore の一次データ

個人情報

コレクション単位

  • ユーザー

ドキュメント単位(キー)

  • サマリ

プロパティ

  • フルネーム


ポイント情報

コレクション単位

  • ユーザー

ドキュメント単位(キー)

  • サマリ

ドキュメント単位(キー)

  • 現在のポイント数
  • 直近の有効期限


プロダクト情報

コレクション単位

  • 最新 / 人気 / セール など
  • サプライヤ単位
  • ハッシュタグ単位
  • 価格帯単位

ドキュメント単位(キー)

  • プロダクト名称

プロパティ

  • プロダクト名称
  • サプライヤ名称
  • 値段 (Pt)
  • 在庫数
  • 画像URL


オーダー情報

コレクション単位

  • ユーザー

ドキュメント単位(キー)

  • オーダー番号

プロパティ

  • オーダー日時
  • プロダクト名
  • 値段 (Pt)
  • 配送ステータス


画面

  • モデルとコントローラは 1 : 1 対応とする


API

  • RESTful API とする