A modern, scalable, and production-ready video conferencing platform built with Spring Boot, React, WebSockets, and AgoraRTC, designed for real-time communication, collaboration, and secure meeting management.
🔗 Add deployed frontend link here 🔗 Add backend API link (if hosted)
- 🔐 Secure JWT Authentication & Authorization
- 🎥 Real-time Video & Audio Streaming (AgoraRTC)
- 💬 Live Chat System using WebSockets (STOMP over SockJS)
- 🏠 Dynamic Meeting Room Creation & Management
- 👥 Real-time Participant Tracking
- 📝 Meeting History & Records
- 📱 Fully Responsive UI (Mobile Friendly)
- ⚡ High Performance RESTful APIs
- 🧩 Clean Architecture (Frontend & Backend Separation)
Client (React + Vite) ⬇ REST + WebSocket Spring Boot Backend ⬇ MySQL Database ⬇ Agora Cloud (Media Streaming)
- Spring Boot
- Spring Security + JWT
- JPA (Hibernate)
- MySQL
- WebSockets (STOMP + SockJS)
- REST API Architecture
- React (Vite)
- Tailwind CSS
- AgoraRTC SDK
- Axios
- React Router
- WebSocket Client (SockJS + STOMP)
- JWT-based stateless authentication
- Protected API routes
- Secure WebSocket messaging
- Password encryption (BCrypt)
- Role-based access (extendable)
WebSocket Endpoint:
ws://localhost:8080/ws
Subscriptions:
/topic/chat/{roomId}
/topic/participants/{roomId}
Agora handles:
- Audio streaming
- Video streaming
- Channel-based room communication
- users
- meetings
- participants
- chat_messages
(You can add ER diagram screenshot here for next-level polish 🔥)
- Java 17+
- Node.js 18+
- MySQL
- Maven
- Agora Developer Account
cd backendCreate database:
CREATE DATABASE videoconnect;Update application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/videoconnect
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.jpa.hibernate.ddl-auto=update
jwt.secret=your_secure_secret_key
agora.app-id=your_agora_app_idRun backend:
./mvnw spring-boot:runcd frontend
npm installCreate .env file:
VITE_BACKEND_URL=http://localhost:8080
VITE_AGORA_APP_ID=your_agora_app_id
Run frontend:
npm run dev| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register | Register user |
| POST | /api/auth/login | Login |
| POST | /api/meetings/create | Create meeting |
| GET | /api/meetings | Fetch meetings |
| GET | /api/meetings/{id} | Join meeting |
-
Real-time bidirectional communication
-
Scalable backend design
-
Modular frontend architecture
-
Extendable for:
- Screen Sharing
- Cloud Recording
- PWA Support
- Meeting Analytics
- Email Notifications
Add screenshots like:
- Login Page
- Dashboard
- Meeting Room
- Chat Panel
(Repositories with screenshots look 10x more serious.)
- IntelliJ IDEA
- VS Code
- Postman
- MySQL Workbench
- Agora Console
- 🎥 Screen Sharing
- 📼 Cloud Recording
- 📊 Meeting Analytics Dashboard
- 🔔 Real-time Notifications
- 🧾 Meeting Summary & Notes
- 🧠 AI-based Meeting Insights
Currently maintained and developed by:
Souvik Kamila
If you’d like to collaborate:
git clone https://github.com/yourusername/VideoConnect.gitThis project is for educational and portfolio purposes.