Captures all brainstormed decisions: - Pluggable game cartridge platform (GameDriver interface) - Celery + Redis timer-driven phase transitions - Session owner play/pause/exit controls (no skip) - Escalating scoring per round, incremental reveal scoring - Emoji reactions during guess phase → post-game awards - Relational per-user config presets with game-specific models - Ephemeral game state (no persistence after exit/finish) - Full WebSocket event reference and data lifecycle Also: updated TODO.md (WebSocket done, persisted answers done), created CLAUDE.md, and PROMPT.md for ralph-loop. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
16 lines
447 B
Python
16 lines
447 B
Python
import os
|
|
|
|
from channels.routing import ProtocolTypeRouter, URLRouter
|
|
from django.core.asgi import get_asgi_application
|
|
|
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'partyhub.settings')
|
|
|
|
django_asgi_app = get_asgi_application()
|
|
|
|
from realtime.routing import websocket_urlpatterns # noqa: E402 — must come after env setup
|
|
|
|
application = ProtocolTypeRouter({
|
|
'http': django_asgi_app,
|
|
'websocket': URLRouter(websocket_urlpatterns),
|
|
})
|