Pingo is a college-exclusive platform that allows students to connect via random video calls. By using their college email IDs for authentication, students can interact in a safe and verified environment, fostering new connections within the campus.
- College Email Authentication β Ensures only students from the college can join.
- Random Video Matching β Connects users with a random peer for seamless conversations.
- Real-Time Video Streaming β Powered by WebRTC for smooth peer-to-peer communication.
- Secure & Private β Prevents unauthorized access and ensures data privacy.
- Minimal & Intuitive UI β A simple, distraction-free interface for easy interaction.
- Abuse Prevention β Includes reporting & blocking features to maintain a positive experience.
-
Authentication:
Users sign in using Google OAuth restricted to college email domains. Their token is validated on the backend (/api/verify-token) before connecting to the Socket.IO server. -
Matching:
Users can opt for a video or audio-only chat. When they click "Start Chat", afindChatevent is emitted. The server then pairs them with another waiting user. -
Connection Setup:
If video is enabled, Pingo establishes a WebRTC peer-to-peer connection between the two users, allowing low-latency video communication. If not, only text-based messaging is enabled. -
Chat Session:
Once connected, users can chat freely. Messages are relayed viasendMessageandmessageevents. The UI handles rendering local/remote streams and chat history. -
Next/Leave:
Clicking "Next" or leaving the session triggers a disconnect from the current room. The app resets the state and automatically searches for a new partner. -
Safety:
Users can report/exit at any time. The backend supports blocking or moderation enhancements.
- Frontend: React (Vite)
- Backend: Node.js + Express
- Database: MongoDB (Mongoose ORM)
- Real-Time Communication: WebRTC + Socket.io
- Authentication: Google OAuth (Restricted to College Emails)
git clone https://github.com/your-username/meetmates.git
cd meetmatescd frontend
npm install
cd ..
cd backend
npm install
cd ..
Frontend (frontend/.env)
VITE_BACKEND_URL=http://localhost:3001
VITE_GOOGLE_CLIENT_ID=get client id from google auth
Backend (backend/.env)
MONGODB_URI=mongodburl
JWT_SECRET=jwt
CORS_ORIGIN=http://localhost:5173,https://www.meetmates.space
PORT=3001
- Interest-Based Matching β Connect students with similar interests.
- Text Chat Feature β Add real-time messaging alongside video calls.
- AI Moderation β Implement AI-based content moderation for safety.
This project is open-source under the MIT License.
Mates behind MeetMates: Sagar Kumar Jha ,Shivansh Sharma & Me.