ChatSphere is a real-time chat application built using Java Spring Boot for the backend and React.js for the frontend. It supports both one-on-one and group chats, featuring real-time messaging, user authentication, and presence indicators.
- User Authentication: Secure JWT-based registration and login system.
- Real-Time Messaging: Instant messaging using WebSockets.
- One-on-One & Group Chats: Engage in private or group conversations.
- Message History: Persist chat history for future reference.
- Delivery & Read Receipts: Know when messages are delivered and read.
- Online/Offline Status: View user presence in real-time.
- Responsive Design: Optimized for various devices and screen sizes.([GitHub][1], [Medium][2])
- Java with Spring Boot
- WebSocket for real-time communication
- Spring Security with JWT for authentication
- MySQL for data storage([GitHub][3], [GitHub][4], [Synology Knowledge Center][5])
- React.js
- Socket.IO Client or native WebSocket API
- HTML, CSS, and JavaScript([GitHub][4])
- Java Development Kit (JDK) installed
- Node.js and npm installed
- MySQL database set up
-
Clone the repository:
git clone https://github.com/Devansh-ds/Chat-app.git cd Chat-app/Backend/WhatsappClone
-
Configure the database:
Update the
application.properties
file with your MySQL credentials:spring.datasource.url=jdbc:mysql://localhost:3306/chatsphere spring.datasource.username=your_username spring.datasource.password=your_password
-
Build and run the backend:
Use your preferred IDE to build and run the Spring Boot application.
-
Navigate to the frontend directory:
cd ../../Frontend
-
Install dependencies:
npm install
-
Start the frontend application:
npm start
The application will run at http://localhost:3000
.
Contributions are welcome! Please fork the repository and submit a pull request for any enhancements or bug fixes.