Phase 11Days 118-124

Real-Time Systems with Socket.io

WebSockets, chats, group chats, and live collaboration — built and scaled

Phase Goal

Move past request/response. Build the real-time layer that powers chat, group chat, presence, typing indicators, and live collaboration — then scale it horizontally the way production apps do.

Progress
Notes

Open the written lectures for this course before checking off the phase topics.

Mini Projects
Harbor Berth Alert
Wildfire Resource Map
Projects
Live Emergency Drill Map — DEPLOYED

Day 118: WebSockets & Socket.io Fundamentals

Mini Project
Harbor Berth Alert

A minimal real-time build shipped on day one: a dispatcher changes a berth assignment, subscribed browsers react instantly, and the learner proves the round-trip before rooms and auth.

Day 119: Rooms, Namespaces & Broadcasting

Day 120: Authentication & Reliability

Day 121: Build a 1:1 Chat

Day 122: Group Chats

Day 123: Live Collaboration Beyond Chat

Mini Project
Wildfire Resource Map

A shared real-time map where coordinators place resource markers, see presence/cursors, and reconcile last-write-wins status updates—proving collaboration patterns beyond chat.

Day 124: Project — Live Emergency Drill Map

Capstone
Live Emergency Drill Map — DEPLOYED

Build a real-time drill coordinator: controllers open an exercise, wardens report zone status, observers submit timestamped incidents, authorized participants see a live map, and the controller closes and exports the drill. Use authenticated Socket.io rooms, presence, acknowledgements, rate limits, Redis scaling, and reconnect recovery.

  • Room roles, presence, reconnect handling, and host-controlled session states.
  • Live submissions with rate limiting and a shared board rendered from socket events.
  • Redis adapter, delivery acknowledgement, and an end-to-end multi-browser demo.

Phase Complete!

After this phase, you'll be able to:

  • WebSocket protocol + Socket.io: connection lifecycle, events, acks
  • Rooms, namespaces, and correct broadcast targeting
  • Authenticated sockets (JWT handshake) + per-room authorization
  • 1:1 chat with persistence, receipts, typing, presence, unread
  • Group chat with membership, fan-out, and pagination
  • Live collaboration (cursors, shared state, conflict trade-offs)
  • Horizontal scaling with the Redis adapter + sticky sessions

You can build and scale the real-time layer behind chat and collaborative products — the feature set that separates a demo from a platform.