All Projects
Intermediate~10 hours

Real-Time Chat Application

websocketsnode.jsreactfull-stack

Project Brief

Build a real-time chat application with rooms, user nicknames, typing indicators, and message history. The backend uses Node.js with Socket.io; the frontend is React. Users can create/join rooms, send messages instantly, and see who's typing.

Requirements

  • Node.js + Express + Socket.io backend
  • React frontend with real-time message updates
  • Create and join named chat rooms
  • Choose a nickname on join
  • Real-time message sending and receiving
  • Typing indicator ('User is typing...')
  • Show online users in each room
  • Message timestamps
  • Auto-scroll to latest message
  • Basic message history (in-memory or SQLite)
  • Responsive design

Milestones

Set up Node.js + Express + Socket.io server. Create a React frontend that connects to the socket server. Verify the connection works with a test message.

Start the project to unlock hints and tracking