Welcome to ChatNow, a full-stack real-time chat application designed to provide seamless communication with an intuitive user interface. Whether you want to chat one-on-one or hang out in group chats, ChatNow has you covered!
- Real-Time Communication: Instant messaging powered by Socket.io for lightning-fast delivery.
- One-on-One Chats: Have private conversations with other registered users securely.
- Group Chats: Create groups, add members, and chat with multiple people at once. Includes group profile management.
- User Authentication: Secure Login & Signup features using JWT (JSON Web Tokens) and bcrypt for password hashing.
- Profile Management: Update your user profile and view others' profiles seamlessly. Image uploads supported via Cloudinary & Multer.
- Online/Offline Status: Real-time indicators showing whether a user is currently active.
- Modern & Responsive UI: Built with React 19, Vite, and styled gorgeously using Tailwind CSS for a premium feel on any device.
- Toast Notifications: Get intuitive, non-intrusive alerts for events like new messages or login status via Sonner.
- Framework: React 19, Vite
- Styling: Tailwind CSS
- State Management: Redux Toolkit
- Routing: React Router DOM
- Real-Time Client: Socket.io-client
- Icons: Lucide React
- Notifications: Sonner
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB with Mongoose
- Real-Time Server: Socket.io
- Authentication: JWT, bcrypt
- File Uploads: Cloudinary, Multer, DataURI
To get a local copy up and running, follow these simple steps:
Make sure you have Node.js and npm installed on your machine.
-
Clone the repository
git clone <your-repo-url>
-
Setup the Backend
cd backend npm installCreate a
.envfile in thebackenddirectory and add your MongoDB URI, JWT Secret, Cloudinary credentials, and Client URL. -
Setup the Frontend
cd ../frontend npm installCreate a
.envfile in thefrontenddirectory (if required) or just set the API URLs in your configs. -
Run the Application
- Start the backend server:
cd backend npm run dev - Start the frontend development server:
cd frontend npm run dev
- Start the backend server:
Contributions, issues, and feature requests are welcome!






