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