An open API service indexing awesome lists of open source software.

https://github.com/pavan-kamthane/charcha

MERN stack project
https://github.com/pavan-kamthane/charcha

Last synced: 7 months ago
JSON representation

MERN stack project

Awesome Lists containing this project

README

          

# 📢 चर्चा (Charcha)

A real-time chat application built using the **MERN** stack. The app allows users to communicate through a clean and intuitive interface with support for real-time messaging.

![UI Preview](https://github.com/user-attachments/assets/371239db-ba66-48a7-9642-3431129b4ab4)

---

## 🚀 Tech Stack

- **Frontend**: React.js (with Chakra UI for components and styling)
- **Backend**: Node.js with Express
- **Database**: MongoDB with Mongoose
- **Authentication**: JWT (JSON Web Tokens)
- **Styling**: Chakra UI
- **Animation**: Framer Motion
- **State Management**: React Context API
- **Real-time Communication**: Socket.io (optional, depending on your plan)

---

## 🗂️ File Structure

```
📦Charcha
┣ 📂backend
┃ ┣ 📂config
┃ ┣ 📂controllers
┃ ┣ 📂data
┃ ┣ 📂middleware
┃ ┣ 📂models
┃ ┗ 📂routes
┃ ┗ 📜server.js
┣ 📂frontend
┃ ┣ 📂public
┃ ┗ 📂src
┣ 📜.env
┣ 📜README.md
┗ 📂node_modules
```

---

## 📋 Features

- User authentication (Login/Signup)
- Real-time messaging
- Secure communication with JWT-based authentication
- Responsive and modern UI built with Chakra UI
- Smooth animations with Framer Motion
- Scrollable chat feed for a seamless experience

---

## 🛠️ Project Setup

### 1. Clone the repository
```bash
git clone https://github.com/your-username/charcha.git
cd charcha
```

### 2. Backend Setup
- Install dependencies in the main folder:
```bash
npm install
```
- Create a `.env` file in the main folder and add the following variables:
```
MONGO_URI=
JWT_SECRET=
```
- Start the backend server:
```bash
npm start
```

### 3. Frontend Setup
- Navigate to the frontend folder:
```bash
cd frontend
```
- Install frontend dependencies:
```bash
npm install
```
- Start the frontend development server:
```bash
npm start
```

---

## 🖼️ Current Project Status

![UI Preview](https://github.com/user-attachments/assets/371239db-ba66-48a7-9642-3431129b4ab4)

The project is currently in development with basic routing and authentication features in place.

---

## 🔮 Planned Features for future

- [ ] Chatrooms for multiple users
- [ ] Real-time notifications
- [ ] File and media sharing
- [ ] Video calls using WebRTC
- [ ] Dark mode toggle

---

## 🧑‍💻 Contributing

Contributions are always welcome! To contribute:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Make your changes.
4. Commit and push to your branch (`git push origin feature-branch`).
5. Create a Pull Request.

---

## 📄 License

This project is licensed under the MIT License.

---

## 📫 Contact

For any inquiries, please reach out to:
**Pavan Kamthane** - [Pavan.Kamthane@studentambassadors.com](mailto:Pavan.Kamthane@studentambassadors.com)

Feel free to open an issue if you find any bugs or have suggestions!