ネットワークリアルタイム対戦型の Web クイズゲームです。
公開サイト: http://kishibe.dyndns.tv/qmaclone/
- GWT クライアント + Java サーバーで構成された対戦型クイズアプリケーション
- WAR 形式で Tomcat 10 に配備して動作
- WebSocket と RPC を利用したリアルタイム通信を提供
- Facebook 連携更新フローを改善し、連携設定を更新しやすくした
- Facebook 投稿処理でアクセストークン再取得フローを追加し、連携切れ時の復旧性を改善
- Tomcat10 デプロイスクリプトで権限不足時の UAC 昇格コピーを追加し、ローカル配備の失敗を減らした
前提ツールがインストール済みの状態で、リポジトリルートで以下を実行します。
mvn compile
mvn "-Dgwt.skipCompilation=false" gwt:compile
mvn package -DskipTests
.\deploy_qmaclone_tomcat10.ps1デプロイ後の確認:
curl.exe -i http://localhost:8080/QMAClone/
curl.exe -i http://localhost:8080/QMAClone/tv.dyndns.kishibe.qmaclone.QMAClone/service
curl.exe -i "http://localhost:8080/QMAClone/tv.dyndns.kishibe.qmaclone.QMAClone/service?warmup=1"- Windows + PowerShell
- JDK 25(
pom.xmlのmaven.compiler.source/target) - Maven
- Tomcat 10.1 系
mvn compile
mvn "-Dgwt.skipCompilation=false" gwt:compile
mvn package -DskipTests通常:
mvn "-Dsurefire.skip=false" testDB テスト込み:
mvn "-Dsurefire.skip=false" -Pwith-db-tests test.\deploy_qmaclone_tomcat10.ps1オプション付き例:
.\deploy_qmaclone_tomcat10.ps1 -TomcatBase "C:\ProgramData\Tomcat10" -HostName "localhost"- Tomcat ユーザー設定:
C:\ProgramData\Tomcat10\conf\tomcat-users.xml - 管理者プロパティ:
C:\ProgramData\Tomcat10\conf\qmaclone-admin.properties - Nginx 設定(運用環境):
ops/config/live/nginx/sites-enabled/default
機密情報(パスワード・トークン・鍵など)はリポジトリに平文でコミットしないでください。
gwt:compileが失敗する場合: GWT 非対応 API 使用有無を確認し、修正後に再実行- デプロイ後に古い画面が表示される場合:
target/gwt-unitCacheをクリーンし再ビルド - WebSocket 接続失敗時:
netstat -> HTTP GET -> Upgrade ハンドシェイク -> サーバーログの順で切り分け - 404 が継続する場合: Tomcat の
webapps/QMAClone展開状態と起動ログを確認
- 運用ファイル配置方針は
ops/README.mdを参照 - 新規の運用ファイルはルート直下ではなく
ops/配下へ配置 - 監視プラグイン
qmaclone_はops/scripts/monitoring/qmaclone_に配置 - 開発運用ルールは
AGENTS.mdを参照
LICENSE を参照してください。