GithubHelp home page GithubHelp logo

frourio-demo's Introduction

cover

Technote's github stats Top Langs

frourio-demo's People

Contributors

technote-space avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

nakamotojp

frourio-demo's Issues

[Server] Stripe の Webhook でキャプチャの失敗を補足

Please describe your suggestion: 提案の概要

カード番号 4000000000005126 でテストできるパターン

Charge succeeds but refunding a captured charge fails asynchronously with a failure_reason of expired_or_canceled_card. Note that because refund failures are asynchronous, the refund will appear to be successful at first and will only have the failed status on subsequent fetches. We also notify you of refund failures using the charge.refund.updated webhook event.

  • 入室時にキャプチャしておりエラー時はステータスの変更を行っていない
  • エラーは Slack の飛ばしている

ので現状でも一応問題はなさそう(要確認)
ただ失敗時のエラーはおそらく英語なので適切なエラー表示にしたほうがよい

Describe the solution you'd like: 考えうる解決方法

できれば別のクレジットカードを使用するための機能を追加したい

Describe alternatives you've considered: 考えうる代替案

このエラーが通知された場合はマニュアル対応

Additional context: 補足

試行回数だけは Stripe 確認前に変更しているので要修正

特権管理者

  • rolesを使用して管理者を管理する権限の追加
  • 管理者を管理するページの追加

README 更新

要件の修正

諸々追記

構成の修正

React Context によるSPAは管理画面
フロントは react-router-domによるルーティング

ゲスト用機能の実装

採用技術

next.js

要件

  • ユーザー登録
  • ユーザー情報入力
  • ユーザーには売り上げ情報を見せないようブロック

機能

  • 新規登録
  • ログイン
  • 予約登録 => 予約番号
  • 予約確認
    • 予約中
    • 過去の履歴

その他要件

OAuth認証

余裕があれば

  • 会員登録なしでの予約
    • 予約番号での確認・キャンセル
  • CMS機能
    • LP
    • 部屋の紹介ページ
    • お知らせ等
    • Gutenberg を WordPress 以外で使えるか試してみたい

入室処理

入室方法

QRコード

  1. 入室用URLを生成(予約コード+αから)
  2. QR コード化
    https://github.com/soldair/node-qrcode
  3. 検証用APIで検証
  4. OKなら入室

テンキー

  1. 入室用番号を発行(ランダム)
  2. lock アプリ(新しく作成)に入力
  3. OKなら入室
  4. NG が3回で新しく発行

入室情報の有効期限

当日昼12時~翌日12時まで

入室情報の送信時間

連泊時

昼12時に新しい情報を送信

チェックイン時

  • 予約完了時
  • チェックイン前日12時

=> 連泊に合わせてチェックイン前日12時

メールアドレスの確認

auth0 での登録時のメールは確認不要
(email_verifiedによってはチェックしたほうがいいかもしれないが面倒なので)

アカウントページでの更新時にメールアドレスは仮の変更にしておく
送信されたメールのURLが踏まれた時点で更新する

[Front] 利用者情報に変更がない場合に「お客様の登録情報を更新する」を表示させない

Please describe your suggestion: 提案の概要

ログイン済みのユーザが予約する場合、変更がなくても利用者情報入力時及び確認時に「お客様の登録情報を更新する」が表示されているが、実際には変更がないので表示は不要

Describe the solution you'd like: 考えうる解決方法

利用者情報に変更がない場合に「お客様の登録情報を更新する」を表示しないようにする

Describe alternatives you've considered: 考えうる代替案

今のままでも問題があるわけではない

Additional context: 補足

スクリーンショット 2021-02-19 3 27 29

Stripeによる決済

  • 予約時Stripeで与信をとる
  • 入室が発生したタイミングで自動決済
  • 期間中利用が無かった場合は最終日に予約した金額の8割を自動決済
  • マイページに Stripeに登録されたカードの確認・削除方法を追加

予約登録画面で FullCalendar を使用する

material table の date picker をそのまま使用しているが予約可能な日付等がわからないため FullCalendar を使用して他の予約を表示したり選択不可にしたりする

異常系:メール送信

再送処理

DB に送信に必要な値をqueue
cron でqueue を処理
しきい値以上失敗が続いたメールは破棄し、失敗時の処理を実行

失敗時の処理

予約完了

予約をキャンセル

予約キャンセル

特になし

サーバ移行

自前でホスティング
Herokuは無料だけどコールドスタートが遅いので

デモ用サーバ用意

Electron は色々警告出ちゃうのでブラウザで動作するようにサーバを用意

ゲスト予約

ログインしていない状態でも予約可能にしたい

related #88

予約の入力方法改善

とりあえず予約作成できればいいという状態なのでフローを改善

  1. 部屋選択 → 人数、宿泊日選択 → 顧客情報入力 → 確認のフロー
  2. バリデーションエラー時に入力に戻す

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.