raquty プロジェクト概要
raquty は複数のドメインから構成される総合的なテニストーナメント管理システムです。各ドメインは特定の役割を持ち、連携して機能しています。
システム構成
raquty は以下の 5 つの主要ドメインから構成されています:
- raquty.com - 大会・イベント参加者募集サイト
- api.raquty.com - API サーバー(pro/guest 向けバックエンド)
- admin.raquty.com - 大会・イベント主催者向け CMS
- pro.raquty.com - 大会当日運営、主催者操作用システム
- guest.raquty.com - 大会当日、参加者閲覧用ページ
インフラ構成
raquty はすべてのドメインを単一のホスティング環境にデプロイしています:
各ドメインの詳細
1. raquty.com(参加者募集サイト)
役割: 大会・イベント参加者募集のためのメインサイト。
使用技術:
- PHP(従来型の MVC アーキテクチャ)
- HTML/CSS/JavaScript
- セッション管理による認証
- 直接データベースアクセス(API を経由しない)
主要ディレクトリ構成:
includes/
: 共通の関数やクラスtemplates/
: 表示用テンプレートprocess/
: 処理用スクリプトcommon/
: 共通リソースfiles/
: アップロードファイル
2. api.raquty.com(API サーバー)
役割: pro.raquty.com と guest.raquty.com の React アプリケーション専用のバックエンド API。
使用技術:
- Laravel(PHP)
- JWT 認証
- RESTful API 設計
主要コンポーネント:
app/
: アプリケーションのメインコードroutes/
: API エンドポイント定義database/
: マイグレーションとシーダーconfig/
: アプリケーション設定
3. admin.raquty.com(主催者 CMS)
役割: 大会・イベント主催者向けのコンテンツ管理システム。大会作成や管理を行います。
使用技術:
- PHP
- HTML/CSS/JavaScript
- 管理者専用認証システム
- 直接データベースアクセス(API を経由しない)
主要機能:
- 大会・イベント作成管理
- 参加者管理
- コンテンツ管理
- システム設定
- バッチ処理(cron)
4. pro.raquty.com(運営者システム)
役割: 大会当日運営のための主催者操作用システム。大会進行、トーナメント管理などを行います。
使用技術:
- React(最新バージョン 18.3)
- Vite
- Chakra UI、Mantine、その他 UI ライブラリ
- Tailwind CSS
- React Router
- Axios(API 通信)
- React SPA として実装(API 経由でデータアクセス)
主要機能:
- 大会運営ダッシュボード
- 参加者管理
- トーナメント表作成と更新
- 試合進行管理
- スケジュール管理
- データ分析・レポート
5. guest.raquty.com(参加者閲覧ページ)
役割: 大会当日、大会・イベント参加者が閲覧するためのポータル。試合情報や結果の確認などを行います。
使用技術:
- React SPA
- React Router
- Axios(API 通信)
- React SPA として実装(API 経由でデータアクセス)
主要機能:
- 大会情報閲覧
- 試合結果・スケジュール確認
- トーナメント表表示
- お知らせ確認
ユーザーフロー
ドメイン間連携
技術スタック概要
インフラ
- ロリポップレンタルサーバー(ハイスピードプラン)
- LiteSpeed Web サーバー
フロントエンド
- pro.raquty.com & guest.raquty.com: React SPA、Vite、Tailwind CSS、各種 UI ライブラリ
- raquty.com & admin.raquty.com: PHP、HTML/CSS、JavaScript(従来型)
バックエンド
- api.raquty.com: Laravel(PHP)- React SPA 専用
- raquty.com & admin.raquty.com: 素の PHP(直接 DB アクセス)
データベース
- MySQL(raquty/admin: 直接接続、api: Laravel ORM 経由でアクセス)
認証
- JWT トークン(API)- pro/guest 用
- セッションベース認証(従来型 PHP)- raquty/admin 用
デプロイ環境
- Web サーバー: LiteSpeed
- PHP: 8.2+
- Node.js(pro.raquty.com と guest.raquty.com 用)
まとめ
Raquty はテニストーナメント管理に特化した複合的なウェブシステムで、目的別に 5 つのドメインに分かれています。raquty.com と admin.raquty.com は従来型の PHP アプリケーションとして直接データベースにアクセスし、pro.raquty.com と guest.raquty.com は React SPA として api.raquty.com を介してデータにアクセスする構成になっています。このハイブリッドなアーキテクチャにより、従来のシステムとモダンな UI/UX を両立させています。これらすべてのシステムは単一のロリポップレンタルサーバー上で動作し、LiteSpeed Web サーバーを使用しています。