A lightweight, real-time video chat app that randomly connects two users for peer-to-peer video/audio communication.
Built with:
- ⚙️ Java 21 Virtual Threads
- 🚀 Spring Boot + WebSockets (signaling)
- 📹 WebRTC (video/audio)
- 🌐 Vanilla HTML + JS frontend
- Anonymous 1-to-1 video chat
- Peer-to-peer media via WebRTC
- Fast signaling with WebSockets
- Scalable backend using Java Virtual Threads
cd RandomChat
./mvnw spring-boot:run
Open http://localhost:8080
in two browser tabs/devices.
- Users connect via WebSocket to the backend
- Backend matches peers and relays SDP/ICE for negotiation
- WebRTC creates a direct media connection between users
- STUN server is used for NAT traversal
- Backend: Java 21, Spring Boot, WebSockets, Virtual Threads
- Frontend: HTML, JavaScript, WebRTC
- STUN Server: Google public STUN
Hari Thatikonda
📫 haribabutatikonda3@gmail.com
🔗 GitHub | LinkedIn
MIT — use it freely, improve it collaboratively.