Skip to content

ZappChat is a modern real-time chat website where users can securely sign up, log in, and instantly message each other, share images, and see online statusβ€”all in a fast, responsive interface.

Notifications You must be signed in to change notification settings

sumitti/ZappChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZappChat πŸš€

A modern, full-stack real-time chat application built with React, Express, MongoDB, Socket.IO, and TailwindCSS.


Features

  • πŸ”’ Authentication: Secure signup, login, and JWT-based session management.
  • πŸ’¬ Real-Time Messaging: Instant messaging powered by Socket.IO.
  • πŸ–ΌοΈ Image Sharing: Send and receive images in chat (Cloudinary integration).
  • 🟒 Online Status: See which users are online in real time.
  • πŸ§‘β€πŸ€β€πŸ§‘ User Sidebar: Easily select users to chat with.
  • 🎨 Responsive UI: Beautiful, mobile-friendly design with TailwindCSS and DaisyUI.
  • ⚑ State Management: Fast and simple state management using Zustand.
  • πŸ›‘οΈ Protected Routes: Only authenticated users can access chat features.

Live Demo 🌐

πŸ‘‰ Try ZappChat Live


Tech Stack βš™οΈ

  • Frontend: React, Vite, Zustand, TailwindCSS, DaisyUI, Axios, Socket.IO Client
  • Backend: Express, MongoDB, Mongoose, Socket.IO, Cloudinary, JWT, bcryptjs
  • Deployment: Render (or any cloud platform)

Getting Started βš’οΈ

1. Clone the Repository

git clone https://github.com/sumitti/ZappChat.git
cd ZappChat

2. Create .env files

MONGODB_URI=your_mongodb_uri
PORT=5001
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
NODE_ENV=development

3. Install Dependencies

npm install --prefix backend
npm install --prefix frontend

4. Run the App Locally

Start Backend:

npm run dev --prefix backend

Start Frontend:

npm run dev --prefix frontend

Folder Structure πŸ—ƒοΈ

ZappChat/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ controller/
β”‚   β”‚   β”œβ”€β”€ middleware/
β”‚   β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   └── index.js
β”‚   β”œβ”€β”€ .env
β”‚   └── [package.json]
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ store/
β”‚   β”‚   └── App.jsx
β”‚   β”œβ”€β”€ .env
β”‚   └── [package.json]
└── [README.md]

Contributing ✨

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.

About

ZappChat is a modern real-time chat website where users can securely sign up, log in, and instantly message each other, share images, and see online statusβ€”all in a fast, responsive interface.

Topics

Resources

Stars

Watchers

Forks

Languages