Conversify is a modern and feature-rich chat application that allows users to engage in real-time conversations, create and manage chat groups, and seamlessly connect with other users. With Conversify, you can enjoy a smooth and interactive chat experience with an intuitive user interface.
Some key features of the project are :
- User Registration and Login
- Users can create accounts and log in securely.
- One-on-One Chat
- Start private conversations with other users.
- Group Chats
- Create and manage group chats to bring multiple users together.
- User Search
- Find and connect with other users by searching for their usernames.
To run this project locally, follow these steps:
- Clone the repository to your local machine:
git clone https://github.com/neerajjoshi-github/conversify.git
- Go to the project directory
cd conversify
- Then go to server directory
cd server
- Install server dependencies:
npm install
- Configure Environment Variables:
Create a
.env
file in the root directory and add your environment variables:
MONGODB_CONNECTION_URL=
PORT=
JWT_SECRET=
- Run the server:
npm run dev
- Then open new terminal and go to client directory
cd client
- Install client dependencies:
npm install
- Install client dependencies:
npm install
- Configure Environment Variables:
Create a
.env.loacl
file in the root directory and add your environment variables:
// For cloudinary api
NEXT_PUBLIC_CLOUD_NAME=
NEXT_PUBLIC_UPLOAD_PRESET=
// If left empty "http://localhost:8080/api/" will be used
NEXT_PUBLIC_SERVER_BASE_URL=
- Run the client server
npm run dev
- Open your browser and visit http://localhost:3000 to view the app.
Conversify is built using a combination of frontend and backend technologies:
- Next.js - A popular React framework for building fast and efficient web applications.
- Socket.io - Real-time communication for web applications.
- Redux Toolkit - State management library for React applications.
- Tailwind CSS - A utility-first CSS framework for designing modern web applications.
- DiceBear - A avatar generating library
- Node.js - A JavaScript runtime environment for building server-side applications.
- Express.js - A popular web application framework for Node.js.
- MongoDB - A NoSQL database for storing application data.
- Mongoose - An elegant MongoDB object modeling for Node.js.
- Socket.io - Real-time communication for web applications.
For a full list of dependencies, refer to the package.json
file.