ReSeek
予約管理SaaS
ReSeek は、業種を選ばない月額固定の予約管理SaaSです。店舗は予約の受付から管理までをひとつの仕組みで任せられ、顧客は24時間、エリアや業種から店舗を探して予約できます。
概要
店舗(BtoB)と顧客(BtoC)の両方に向けたサービスです。顧客はゲストでも会員でも予約でき、店舗側は組織・店舗(本店・支店)・ユーザーを、ロールに応じた範囲で管理します。
予約は「仮予約→確定」の二段階です。予約を受けると顧客に確認リンク付きのメールを送り、リンクが開かれた時点で確定します。仮予約と確定のたびに、顧客と店舗の両方へメールで知らせます。
全21条の契約書テンプレートとランディングページまで自前で整え、Stripeによる決済連携の準備を進めています。
アーキテクチャ
- 構成
- フロントエンド(Next.js・React・TypeScript・Tailwind CSS)と、バックエンドAPI(Laravel・PHP)を分けた、ひとつのリポジトリ(モノレポ)です。画面はAPIだけを通してデータにアクセスします。
- 認証と権限
- 顧客と管理者で認証の系統を分け、管理者は役割(ロール)に応じて、操作できる範囲を絞ります。フロントエンドとAPIは別々に動かし、リクエストの正当性を確かめる仕組みを入れています。
- データ
- MySQL に保存します。組織→店舗→ユーザーの階層でデータを結び、スキーマはマイグレーションで管理します。管理画面での操作は、変更の履歴として残します。
- 実行環境
- 開発は Docker Compose で動かします。フロントエンドとバックエンドは別々のクラウドに置き、バックエンドは GitHub Actions から自動でデプロイします。
- メール
- 予約の作成と確定のたびに、顧客向けと店舗向けの通知メールを送ります。ユーザーの入力はメールに入れる前に無害化し、予約の作成には回数の制限を設けて、同じリクエストの二重送信も防ぎます。
- 種別
- 予約管理SaaS
- 区分
- プロダクト(SaaS・Webサービス)
- 状態
- 開発中
- 担当
- 企画・設計・開発
- 技術
- Next.js
- React
- TypeScript
- Tailwind CSS
- Laravel
- PHP
- MySQL
- Docker
- Vercel
- AWS