Introducing ChitChat, your go-to real-time chat application designed to effortlessly connect users across the globe. Whether you're catching up with friends, collaborating with colleagues, or making new connections, ChitChat has you covered. With intuitive user search functionality, instant online status updates, and message timestamps, staying connected has never been easier. Our platform is crafted for seamless communication, empowering you to chat efficiently and effectively wherever you are. Say hello to ChitChat, your friendly companion for all your chatting needs.
- Real-time Messaging: Enjoy instant communication with friends and colleagues, eliminating delays in message delivery.
- User Authentication: Secure authentication system safeguards user data and privacy.
- Private Conversations: Engage in one-on-one private chats or create group chats to connect with multiple users simultaneously.
- Customizable Profiles: Personalize your profile with avatars, usernames, and status updates.
- Responsive Design: Access ChitChat seamlessly from desktops, tablets, or mobile devices.
- Notification System: Stay informed with notifications for new messages and activity within your chats.
To begin using ChitChat, follow these steps:
-
Clone the repository to your local machine.
-
Install backend dependencies by running
npm install
in thebackend
directory. -
Install frontend dependencies by running
npm install
in thefrontend
directory. -
Set up your environment variables, including your MongoDB connection URI.
-
Start the server with
npm start
in theRoot
directory. -
Open your browser and navigate to http://localhost:3000 to access ChitChat.
Or, visit the live application here.
- Express: Minimalist web framework for Node.js.
- bcryptjs: Library for hashing passwords.
- cookie-parser: Middleware for parsing cookies. .
- jsonwebtoken: Library for generating and verifying JSON Web Tokens for user authentication.
- mongoose: MongoDB object modeling tool designed for asynchronous environments.
- socket.io: Real-time engine for bi-directional communication between clients and the server.
- React: Frontend UI library for building dynamic user interfaces.
- react-dom: React package for DOM rendering.
- react-hot-toast: Toast notifications for React applications.
- react-icons: Library for icons in React applications.
- react-router-dom: Declarative routing for React applications.
- socket.io-client: Client-side library for Socket.IO to enable real-time communication with the server.
- zustand: State management library for React applications.
We welcome contributions from the community to help improve ChitChat. If you'd like to contribute, please fork the repository, make your changes, and submit a pull request. Be sure to follow the contribution guidelines outlined in the CONTRIBUTING.md
file.
If you encounter any issues or have questions about ChitChat, please reach out to us at [email protected].