つなぐだけで、みんな参加。 イベント・セミナー・ウェビナー向けの、インストール不要なリアルタイム投票・クイズプラットフォーム。
SocketJoin は、ホストの操作に合わせて参加者の画面がリアルタイムに切り替わる、インタラクティブなイベント支援ツールです。WebSocket を活用し、1秒未満の低遅延でアンケート集計やクイズの進行が可能です。
Docker Compose を使用して、すぐにローカルで試用できます。
cp .env.example .env.env を編集し、POSTGRES_PASSWORD を設定してください。
make upこのコマンドで DB、Redis、API、フロントエンドがすべて立ち上がり、マイグレーションも自動適用されます。
- ホスト管理画面: http://localhost:3000/host
- API サーバー: http://localhost:3000/api
外部からアクセス可能な Web サーバーへデプロイする場合は、以下の設定を確認してください。
- HTTPS 通信: セキュリティおよび WebSocket の安定のため、リバースプロキシ(Nginx, Traefik, Cloudflare 等)を介して SSL/TLS を適用してください。
- APP_ENV:
.envでAPP_ENV=productionを設定すると、認証 Cookie にSecureフラグが付与されます。 - FRONTEND_URL: 実際にアクセスするドメイン(例:
https://join.example.com)を.envに設定し、CORS を許可してください。
| 変数 | 説明 | デフォルト値 |
|---|---|---|
POSTGRES_PASSWORD | DB のパスワード (設定必須) | change_me |
FRONTEND_URL | CORS/WebSocket 許可オリジン | http://localhost:3000 |
APP_ENV | production 指定で Secure Cookie 有効 | (空) |
NG_WORDS | 追加のNGワード (カンマ区切り) | (空) |
Makefile を使用して各操作を行えます。
make up: 全サービスをバックグラウンドで起動make down: 全サービスを停止make logs: ログをストリーミング表示make migrate-up: マイグレーションを適用make smoke-test: 基本的なイベントフローのテストを実行
- Backend: Go (chi, Gorilla WebSocket, sqlx)
- Frontend: SvelteKit (Vanilla CSS, Lucide Icons)
- Infrastructure: Nginx, PostgreSQL, Redis
- Migration: golang-migrate
LICENSE ファイルを参照してください。
脆弱性を発見した場合は、GitHub の Security Advisory を通じて報告してください。