- Replaced scattered message strings with `DraftMessage` `StrEnum` and
numeric `DraftPhase` `IntEnum` for clear, centralized definitions.
- Added Python→JS constants sync via `scripts/generate_js_constants.py`
to ensure backend/frontend parity.
- Refactored WebSocket consumers to use `broadcast.*` and
`direct.message` handlers with `_dispatch_broadcast` for consistent
event delivery.
- Enhanced `DraftStateManager` to store `draft_index` and explicitly
manage `connected_participants`.
- Added colored logging config in settings for improved debugging.
- Frontend: split UI into `ParticipantList` and `DraftMoviePool`,
extracted message handlers (`handleDraftStatusMessages`,
`handleUserIdentifyMessages`), and updated components to use new
message/phase enums.
- Created new `api` Django app with serializers, viewsets, and routers
to expose draft sessions, participants, and movie data.
- Registered `api` app in settings and updated root URL configuration.
- Extended WebSocket consumers with `inform.draft_status` /
`request.draft_status` to allow fetching current draft state.
- Updated `DraftSession` and related models to support reverse lookups
for draft picks.
- Enhanced draft state manager to include `draft_order` in summaries.
- Added React WebSocket context provider, connection status component,
and new admin/participant panels with phase and participant tracking.
- Updated SCSS for participant lists, phase indicators, and status badges.
- Modified Django templates to mount new React roots for admin and
participant views.
- Updated Webpack dev server config to proxy WebSocket connections.
- Added user authentication UI in the base template for navbar.
- Expanded `league.dj.html` to include a new "Draft Sessions" tab showing active drafts.
- Refactored Django views and models to support `DraftSession` with participants and movies.
- Replaced deprecated models like `DraftParticipant` and `DraftMoviePool` with a new schema using `DraftSessionParticipant`.
- Introduced WebSocket consumers (`DraftAdminConsumer`, `DraftParticipantConsumer`) with structured phase logic and caching.
- Added `DraftStateManager` for managing draft state in Django cache.
- Created frontend UI components in React for draft admin and participants, including phase control and WebSocket message logging.
- Updated SCSS styles for improved UI structure and messaging area.