要件定義

以下の要件を示します。

前提条件

  • 当システムは個人開発でのプロジェクトになります。
  • 本業の傍ら、副業として運営しているシステムです。
  • バグやネットワーク環境などの内部要因/外部要因含めて不具合が生じる可能性があります。100%同期を保証するシステムではないことを予めご留意下さい。

業務要件

サービス名

ネット予約同期システムDOUKI

機能要件

  • ポータルサイトを一元管理するシステム
  • 既存の大手ポータルサイトの予約システムを利用
  • Chrome拡張機能「DOUKIスマート」のインストールが必要
  • マイページでログイン情報、紐付け、各種設定、が可能
  • サブスクリプション形式、月額プラン/年額プランあり、Paypal使用

やらないこと

予約システムの作成

DOUKIは「ポータルサイトの予約システム」を利用した同期システムです。

非機能要件

ユーザー数

最大100ユーザーを想定

キャパシティ

最大100サロンを想定

可用性

99.9% (深夜のシステムメンテナンスを除く)

死活監視

cronで2分ごとに実行します。firebase functionsでDOUKIサーバーにアクセスして確認

基本設計

同期

手動

  1. Chrome拡張機能「DOUKIスマート」を付与したポータルサイトでログイン
  2. トースター表示で「【サロン名】でログインしました」と表示されたら成功
  3. 予約画面はそのまま使用することでDOUKIが監視・データ送信・同期します

ネット予約

  1. データ取り込みボタンを押下
  2. ポータルサイト内のメール通知設定に「douki2351」から始まるメールアドレスが登録されています。
  3. 通知メール認証が完了するとネット予約が入った際にDOUKIがメール内容を解析して同期します。

ポータルサイト別

データ取得

備考
ピークマネージャー・予約
・業務
・休憩
・シフト
サロンボード(リラク)・予約(ポイント使用などコメント欄も含めて)
・予定
・シフト
サロンボード(ヘア)リラクサロンと同じ
Googleカレンダー・来月末までのイベントを取得 . 例 ) 9/5〜10/31まで
EPARK鍼灸・接骨・予約
・ブロック
楽天ビューティ(共通)ネット予約時にデータ取得
ミニモネット予約時にデータ取得
オズモール・予約
・ペア予約がいればそれお含めて

同期

備考
ピークマネージャー・予約・業務で同期
・コースが紐付けされていなければ変換不可コース使用
・顧客がなければ新規作成として新規顧客/あれば既存顧客として使用
・サロンボードのポイント使用をコメント欄に追加
サロンボード(リラク)・コースが紐付けされていれば同期/なければ空のコース
・スタッフ/ブースはどちらか紐付けされていなければ同期不可
・勤務時間外に同期されたデータはエラーとして処理
サロンボード(ヘア)・顧客名は「GUEST DOUKI」で固定
・他はリラクサロンと基本同じ
Googleカレンダー・タイトルは「顧客名(スタッフ名)」
EPARK鍼灸・接骨・コースの紐付けがない場合はブロックを使用
楽天ビューティ(共通)・予約は「メニュー」で固定
ミニモ・時間枠の増減で対応
オズモール・在庫数の増減で対応

アカウント登録画面

・メールアドレス、パスワード、メインに使用するポータルサイトを選択→更新ボタンを押下。会員登録が成功したらログイン画面に遷移。失敗したらアラート表示で終了

ログイン画面

アカウント登録時に設定したID/パスワードを入力。成功ならマイページに遷移。失敗したらアラート表示。

パスワードリセット画面

メールアドレスを入力して添付されているリンクをクリックしてパスワードを再設定。firebase authにユーザーがいなければ到達不可

マイページ画面

ダッシュボード

  • メンバー名、現在操作中のサロンを表示
  • 同期された回数を表示
  • お知らせを表示

ログイン情報

同期したいポータルサイトのID/パスワードを入力して更新ボタンを押下

紐付け

スタッフ/コース/ブースの紐付け

取り込みボタンを押下後に選択候補が出てくるようになります。

古い紐付けデータは削除/一括削除ができます。

更新ボタンで反映

自動紐付け

類似度で自動で紐付けをします。確実ではないので押下後に紐付け確認が必要です。

右上のヘッダーエリア

データ取り込み
  • ポータルサイトからスタッフ/コース/ブースを取得
  • ピークマネージャーは変換不可コースがなければ作成
  • 通知メール認証、douki2351のgmailアドレスがあれば無視。メール受信後のURLのアクセスする認証はPubSubでDOUKIが自動認証
通知アイコン

エラーがあれば赤丸で表示。クリックでエラーページへ遷移

テーマ切り替え

クリックでライトモード/ダークモード切り替え

店舗切り替え

選択リストで2店舗以上のサロンの切り替えが可能。1店舗はデフォルトでアクティブなので操作不要。

アカウント設定
  • ユーザーのロゴ変更(firebase storageに保存)
  • 解約ボタン(firebase auth削除、DB内の全てのデータ削除、Paypal購読を順番に行う。失敗したらアラート表示)

支払い設定

購読ステータス
  • 現在のステータス 契約中/トライアル中を表示
  • 購読IDを表示
契約の確認/変更

ご自身で行うためのpaypalマイページのリンクを表示

ログアウト

クリックでfirebase authのサインアウト処理、idトークン破棄、ログイン画面に遷移