Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/khushboodaryani/Chat-App/llms.txt

Use this file to discover all available pages before exploring further.

Chat App is a full-stack messaging platform built on the MERN stack. It combines Socket.io for real-time bidirectional communication with a REST API for persistent data, giving you instant message delivery, live online-presence indicators, and durable conversation history — all in a single deployable package.

Quickstart

Clone the repo, set your environment variables, and have the app running locally in minutes.

Configuration

Learn about every environment variable the app needs before going to production.

REST API Reference

Explore all HTTP endpoints for authentication, messaging, and user management.

WebSocket Events

Understand the Socket.io events that power real-time delivery and online presence.

Key Features

Real-Time Messaging

Messages are delivered instantly via Socket.io — no polling required.

JWT Authentication

HTTP-only cookie-based JWTs protect every private route and Socket.io connection.

Online Presence

See who is online in real time. The sidebar updates live as users connect and disconnect.

Persistent Storage

All messages and conversations are stored in MongoDB and survive page refreshes.

How It Works

1

Create an account

Register with your full name, username, password, and gender. A profile avatar is generated automatically.
2

Browse your contacts

The sidebar loads all other registered users. Search by name to narrow the list.
3

Start chatting

Select any user to open a conversation. Messages are delivered instantly and persisted for future sessions.
4

Stay aware

Green presence dots show who is currently online. A notification sound plays when a new message arrives while you are in a different conversation.

Technology Stack

LayerTechnology
FrontendReact 18, React Router v6, Zustand, Tailwind CSS, DaisyUI
BackendNode.js, Express 4, Socket.io 4
DatabaseMongoDB (Mongoose ODM)
AuthJSON Web Tokens (HTTP-only cookies)
BuildVite (frontend), served as static files from Express
The backend serves the compiled React build as static files, so the entire application deploys as a single Node.js process with no separate frontend server needed.

Build docs developers (and LLMs) love