This project is a real-time chat application built using the MERN stack (MongoDB, Express.js, React.js, Node.js). It utilizes socket.io for real-time communication, zustand for state management, and many more.
- Real-time messaging between multiple users
- User authentication and authorization
- Responsive design
- Emoji support with react-icons
- Minimalistic UI for easy navigation
-
Frontend:
- React.js
- Socket.io-client (real-time communication)
- Zustand (state management)
- React-icons (icons)
-
Backend:
- Node.js
- Express.js
- MongoDB (Atlas for cloud database)
- Socket.io (real-time server)
- JWT (JSON Web Tokens) for authentication
To get a local copy up and running follow these simple steps.
- Node.js installed on your machine
- MongoDB Atlas account for cloud database (or local MongoDB instance)
-
Clone the repo
git clone https://github.com/sujal12344/chat-app.git
-
Install NPM packages
npm install
-
Replace .env.example with .env and fill in the required fields
-
Start the server
npm start
-
Start the client
cd frontend npm start
-
Open your browser and navigate to
http://localhost:5173/