A fully functional real-time chat application inspired by WhatsApp.
Built with Spring Boot (Java 17), WebSocket, and MySQL, featuring live message updates, REST API integration, and a modern responsive frontend.
| Connect Page | Chat Client | Chat Server |
|---|---|---|
![]() |
![]() |
![]() |
π’ Watch full system in action below (auto-play animation in README itself)
π§ Core Flows
- WebSocket
/chatβ Live message send & receive - REST API
/api/messages/{userA}/{userB}β Retrieve conversation history /api/healthβ Monitor system uptime
| Layer | Technology | Purpose |
|---|---|---|
| Backend | Java 17 + Spring Boot | REST API + WebSocket server |
| Database | MySQL | Persistent message storage |
| ORM | Spring Data JPA | Entity <-> Table mapping |
| JSON | Jackson | Message serialization |
| Logging | SLF4J + Logback | Application monitoring |
| Frontend | HTML5, CSS3, JavaScript | WebSocket client & REST API UI |
| Build Tool | Maven | Dependency management |
| CORS | @CrossOrigin |
Secure browser communication |
| Component | Description |
|---|---|
| Message Entity | Defines message structure (id, fromUser, toUser, body, timestamp, status) |
| MessageRepository | Extends JpaRepository β CRUD + custom queries |
| ChatService | Core business logic (save, update status, fetch history) |
| MessageController | REST endpoints (/api/messages, /api/health) |
| WebSocketHandler | Real-time socket events (auth, msg, ack) |
# Clone the repository
git clone https://github.com/yourusername/smartmessenger.git
# Open in IntelliJ IDEA or VS Code
# Configure your MySQL credentials inside src/main/resources/application.properties
# Run the Spring Boot Application
mvn spring-boot:run
# Navigate to the frontend directory
cd frontend
# Open the HTML file (you can also use VS Code Live Server)
open index.html
Athavan V
πΌ Java | Spring Boot | MySQL | WebSocket | Frontend Developer
π§ Contact Me:



