TALKATIVE is a modern chat application built with the MERN stack (MongoDB, Express.js, React.js, Node.js). It enables real-time messaging, group creation, user searching, and message sharing for seamless communication.
- Real-Time Messaging: Instantly send and receive messages.
- Group Chats: Create and join groups for collaborative communication.
- Search Users: Easily find and connect with other users.
- Share Messages: Share text messages in real-time.
Frontend:
- React.js
- React Router
- Axios
- Socket.IO Client
Backend:
- Node.js
- Express.js
- MongoDB (Mongoose for object modeling)
- Socket.IO
- JWT (JSON Web Tokens) for authentication
- bcrypt.js for password hashing
Others:
- CSS/SCSS for styling
- RESTful API
- Node.js (>= 14.x)
- MongoDB (Installed locally or a cloud instance like MongoDB Atlas)
- A code editor like VS Code
Follow these steps to set up the project locally:
# Using HTTPS
git clone https://github.com/satyam969/TALKATIVE.git
# Using SSH
git clone [email protected]:satyam969/TALKATIVE.git
cd TALKATIVE
cd server
npm install
cd client
npm install
Create a .env
file inside the server
directory and add the following:
FRONTEND_URL=the frontend url ("http://localhost:5173")
PORT=8080
MONGODBURL=your_mongo_db_connection_string
JWT_SECRET_KEY=your_jwt_secret
Inside the client
directory, create a .env
file:
VITE_URL="http://localhost:8080"
cd server
npm start
cd client
npm run dev
The app should now be running locally.
-
Fork the Repository:
- Click on the fork button at the top of the repository page.
- Clone the forked repository to your local machine.
-
Run Locally:
- Use the instructions provided above to set up and run the app.
-
Explore Features:
- Register or log in to access real-time chat features.
- Create groups, search for users, and share messages.
TALKATIVE/
├── client/ # Frontend code
│ └── src/
│ ├── components/ # React components
│ ├── pages/ # Application pages
│ ├── utils/ # Utility functions
│ └── App.jsx # Main React app file
├── server/ # Backend code
│ └── routes/ # API routes
│ └── controllers/ # Business logic
│ └── models/ # MongoDB schemas
│ └── index.js # Entry point for the backend
└── README.md # Project documentation
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m "Add your message here"
- Push to the branch:
git push origin feature/your-feature-name
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE
file for details.
For inquiries or feedback, please contact:
- Name: Priya Raj
- Email: [email protected]
- GitHub: satyam969
Special thanks to all contributors and the open-source community for their support!