ChitChat is a real-time messaging platform built using the MERN stack (MongoDB, ExpressJS, ReactJS, NodeJS) and WebSockets. It allows users to register, login, and engage in instant messaging with other users.
- User Authentication: Secure registration and login using JWT and bcrypt.js.
- Real-time Messaging: Instant messaging with WebSockets.
- User Management: Add and manage contacts.
- Responsive UI: Built with ReactJS and styled with TailwindCSS for a modern user interface.
Check out the live application here.
You can find the source code on GitHub here.
To run this project locally, follow these steps:
- Node.js
- npm or yarn
- MongoDB
git clone https://github.com/Atul-me/Chitchat.git
cd mern-chat-application
-
Navigate to the
backend
directory.cd backend
-
Install dependencies.
npm install
-
Create a
.env
file in thebackend
directory and add the following environment variables:NODE_ENV=development PORT=5000 MONGO_URI=your_mongo_connection_string JWT_SECRET=your_jwt_secret
-
Start the backend server.
npm run dev
-
Navigate to the
frontend
directory.cd frontend
-
Install dependencies.
npm install
-
Start the frontend server.
npm start
- WebSockets are integrated within the backend server. Make sure your backend server is running to enable real-time messaging.
The application is deployed on Vercel. To deploy your own instance, follow Vercel's deployment documentation and connect it to your GitHub repository.
- Frontend: ReactJS, TailwindCSS
- Backend: NodeJS, ExpressJS
- Database: MongoDB
- Authentication: bcrypt.js, JWT
- Real-time Communication: WebSockets (Socket.IO)
- Deployment: Vercel
We welcome contributions! Please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License.