Skip to content

Unnati-Gupta24/Renraku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 

Repository files navigation

Renraku

Renraku is a dynamic real-time chat application built using the MERN stack (MongoDB, Express.js, React.js, Node.js) with Socket.IO integration. The application provides a seamless chatting experience with real-time message delivery and a responsive user interface.

✨ Features

  1. User Authentication: Secure signup and login functionality
  2. Real-time Messaging: Instant message delivery using Socket.IO
  3. Responsive Design: Works flawlessly across all device sizes
  4. User Search: Find and connect with other users
  5. One-on-One Chat: Private conversations between users
  6. Group Chat: Create and manage group conversations
  7. Profile Management: Update user profiles and avatars
  8. Real-time Notifications: Instant notifications for new messages
  9. Typing Indicators: Shows when users are typing

🛠️ Tech Stack

Frontend -React.js -Daisy UI -Socket.IO-Client -Axios -React Router DOM

Backend -Node.js -Express.js -MongoDB -Socket.IO -JWT Authentication -Bcrypt -Mongoose

📋 Prerequisites

Before running the application, ensure you have:

  • Node.js installed
  • MongoDB installed and running
  • npm or yarn package manager

⚙️ Installation

  1. Clone the repository
git clone https://github.com/Unnati-Gupta24/Renraku.git
cd Renraku
  1. Install backend dependencies
cd backend
npm install
  1. Install frontend dependencies
cd frontend
npm install
  1. Configure environment variables
    Create .env file in the backend directory:
PORT=5000
MONGO_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
NODE_ENV=development
  1. Start the application
    For backend:
cd backend
npm start

For frontend:

cd frontend
npm start

🏗️ Project Structure

Renraku/
├── frontend/
│   ├── public/
│   ├── src/
│   │   ├── components/
│   │   ├── config/
│   │   ├── context/
│   │   ├── Pages/
│   │   └── App.js
│   └── package.json
│
└── backend/
    ├── config/
    ├── controllers/
    ├── middleware/
    ├── models/
    ├── routes/
    └── server.js

API Endpoints

User Routes

  • POST /api/user - Register user
  • POST /api/user/login - User login
  • GET /api/user - Get all users
  • GET /api/user?search= - Search users

Chat Routes

  • POST /api/chat - Access or create chat
  • GET /api/chat - Get all chats
  • POST /api/chat/group - Create group chatp

Message Routes

  • POST /api/message - Send message
  • GET /api/message/:chatId - Get all messages

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  • Fork the repository
  • Create your feature branch eg. (git checkout -b feature/AmazingFeature)
  • Commit your changes eg. (git commit -m 'Add some AmazingFeature')
  • Push to the branch eg. (git push origin feature/AmazingFeature)
  • Open a Pull Request

👨‍💻 Author

Unnati Gupta - GitHub Profile

📄 License

This project is licensed under the MIT License.


⭐️ If you found this project helpful, please give it a star!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published