ChitChat: Your vibrant hub for forging connections, fostering friendships, and seamlessly exchanging media through video calls and messages.
ChitChat is ultimate destination for connecting, forging friendships, and unleashing the power of AI-driven conversations. Seamlessly blend video calls, media messages, and crystal-clear audio calls, all while your data stays secure on Firebase. With its built-in AI technology, your questions find answers effortlessly, making every interaction an experience to remember.
## Built With #### Frontend * [React](https://react.dev/) * [Figma](https://www.figma.com/) * [Iconify](https://iconify.design/) * [LottieFiles](https://lottiefiles.com/) * [Redux Toolkit](https://redux-toolkit.js.org/) * [React Image File Resizer](https://www.npmjs.com/package/react-image-file-resizer) * [Firebase](https://firebase.google.com/) * [Simple Peer](https://www.npmjs.com/package/simple-peer) * [Socket Client](https://socket.io/docs/v4/client-api/) #### Backend * [Express.js](https://expressjs.com/) * [Joi](https://joi.dev/) * [Jwt](https://jwt.io/) * [Node.js](https://nodejs.org/en) * [MongoDB](https://mongodb.com/) * [Socket](https://www.npmjs.com/package/socket.io) ## Getting Started ### Prerequisites npm is a package manager for the JavaScript programming language maintained by npm, Inc. npm is the default package manager for the JavaScript runtime environment Node.js and is included as a recommended feature in the Node.js installer. Node.js is a cross-platform, open-source JavaScript runtime environment that can run on Windows, Linux, Unix, macOS, and more. Node.js runs on the V8 JavaScript engine, and executes JavaScript code outside a web browser. Node.js lets developers use JavaScript to write command line tools and for server-side scripting. Git is a distributed version control system used for software development. It allows multiple developers to work on the same codebase simultaneously, keeping track of changes and managing versions. It also enables users to revert changes and collaborate more effectively. ### InstallationStep 1 - Clone the chitchat project.
``` git clone https://github.com/prince2520/chitchat.git ``` #### FrontendStep 2 - Change directory to frontend.
``` cd frontend ```Step 3 - Install the necessary dependencies.
``` npm install ```Step 4 - Add environment variables.
``` # Create .env file and paste to src folder # Add the url of your server REACT_APP_SERVER_URL= http://127.0.0.1:5000 //By # Add your firebase credentials here # firebase config (Add your config data) REACT_APP_apiKey=***** REACT_APP_authDomain=***** REACT_APP_projectId=***** REACT_APP_storageBucket=***** REACT_APP_messagingSenderId=***** REACT_APP_appId=***** REACT_APP_measurementId=***** ```Step 5 - Run frontend server locally.
``` npm start ``` #### BackendStep 6 - Change directory to backend.
``` cd backend ```Step 7 - Install the necessary dependencies.
``` npm install ```Step 8 - Add environment variables.
``` # add .env file to root directory # Add your MongoDB credentials here MONGODB_URI=***** DB_USER=***** DB_PASSWORD=***** DB_NAME=***** #JWT Secret Key JWT_SECRET_KEY=**** ```Step 9 - Run backend server locally.
``` npm start ``` ## Contributing Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**. * If you have suggestions for adding or removing projects, feel free to [open an issue](https://github.com/prince2520/chitchat/issues) to discuss it * Please make sure you check your spelling and grammar. ### Creating A Pull Request Wanna contribute to ChitChat ? 1. Fork the Project 2. Create your Feature Branch (`git checkout -b feature/FeatureName`) 3. Commit your Changes (`git commit -m 'Add some FeatureName'`) 4. Push to the Branch (`git push origin feature/FeatureName`) 5. Open a Pull Request ## Code of conduct Developers are requested to go through our code of conduct thoroughly to maintain a peaceful environment within our project. ## License Distributed under the MIT License. See [LICENSE](https://github.com/prince2520/chitchat/blob/main/LICENSE.txt) for more information. ## Project Links