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.
- User Authentication: Secure signup and login functionality
- Real-time Messaging: Instant message delivery using Socket.IO
- Responsive Design: Works flawlessly across all device sizes
- User Search: Find and connect with other users
- One-on-One Chat: Private conversations between users
- Group Chat: Create and manage group conversations
- Profile Management: Update user profiles and avatars
- Real-time Notifications: Instant notifications for new messages
- Typing Indicators: Shows when users are typing
Frontend -React.js -Daisy UI -Socket.IO-Client -Axios -React Router DOM
Backend -Node.js -Express.js -MongoDB -Socket.IO -JWT Authentication -Bcrypt -Mongoose
Before running the application, ensure you have:
- Node.js installed
- MongoDB installed and running
- npm or yarn package manager
- Clone the repository
git clone https://github.com/Unnati-Gupta24/Renraku.git
cd Renraku
- Install backend dependencies
cd backend
npm install
- Install frontend dependencies
cd frontend
npm install
- 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
- Start the application
For backend:
cd backend
npm start
For frontend:
cd frontend
npm start
Renraku/
├── frontend/
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── config/
│ │ ├── context/
│ │ ├── Pages/
│ │ └── App.js
│ └── package.json
│
└── backend/
├── config/
├── controllers/
├── middleware/
├── models/
├── routes/
└── server.js
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
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
Unnati Gupta - GitHub Profile
This project is licensed under the MIT License.
⭐️ If you found this project helpful, please give it a star!