Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

💬 MERN CHAT APP

A full-stack real-time chat application built using the MERN stack (MongoDB, Express.js, React, Node.js). This project showcases how to build a modern, responsive messaging platform with real-time capabilities using Socket.io.


🚀 Features

  • ✅ Real-time chat with Socket.io
  • 👨‍💼 User authentication (JWT-based)
  • 🗂️ Private and group messaging
  • 🖼️ Image/file upload support (optional with Cloudinary)
  • 📱 Responsive UI for mobile and desktop
  • 🟢 Online user status indicator

🛠️ Tech Stack

🔧 Frontend

  • React
  • Zustand (for global state)
  • Tailwind CSS + DaisyUI
  • Axios

⚙️ Backend

  • Node.js
  • Express.js
  • MongoDB (Mongoose)
  • Socket.io

🧩 Other Tools

  • JWT (Authentication)
  • Cloudinary (for image uploads - optional)
  • Dotenv (for environment configs)

📦 Getting Started

📌 Prerequisites

  • Node.js
  • MongoDB (Local or MongoDB Atlas)
  • npm or yarn

🛠️ Installation

  1. Clone the repository

    git clone https://github.com/yourusername/mern-chat-app.git
    cd mern-chat-app
    
  2. Install backend & frontend dependencies

     cd mern-chat-app
     npm install
     cd client
     npm install
    
  3. Set up environment variables Create a .env file in the root directory:

    MONGO_URI=your_mongodb_uri
    JWT_SECRET=your_secret_key
    CLOUDINARY_URL=optional_if_used
    

4.Start the development server

  ```bash
  # From root
  npm run dev

📸 Screenshots

image

image

image

image

🌟 Highlights 🌐 MERN + Socket.io + TailwindCSS + DaisyUI

🔐 JWT-based authentication and authorization

💬 Real-time messaging with Socket.io

🟢 Online user status

⚙️ Zustand for global state management

🐞 Error handling on both server and client

About

A full-stack real-time chat application built using the MERN stack (MongoDB, Express.js, React, Node.js). This project showcases how to build a modern, responsive messaging platform with real-time capabilities using Socket.io.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages