Connectly is a full-stack language learning app that enables users to connect with native speakers via real-time chat and video calls. Built with the MERN stack and deployed on Render, it ensures smooth peer-to-peer communication and responsive design.
The video calling feature is implemented using WebRTC along with the Media Stream API to allow camera and audio streaming.
- 🌍 Match with native speakers for immersive learning
- 🗨️ Real-time messaging using Socket.io
- 🎥 One-on-one video calls via WebRTC and Stream API
- 🎨 Themed UI with Tailwind CSS and DaisyUI
- 🔄 Optimized data handling with TanStack Query
- 🔔 Toast notifications for seamless feedback
| Layer | Tools & Frameworks |
|---|---|
| Frontend | React, Vite, React Router, Tailwind CSS, DaisyUI |
| Backend | Node.js, Express.js |
| Database | MongoDB |
| Realtime | WebRTC, Socket.io |
| State/Data | TanStack Query, React Toaster |
| Deployment | Render |
-
Clone the repository
git clone https://github.com/Mozeel-V/connectly-app.git cd connectly-app -
Install dependencies
- Frontend:
cd frontend npm install - Backend:
cd backend npm install
- Frontend:
-
Environment Setup
- Create
.envfiles in both/frontendand/backenddirectories with your configuration as per .env.example given
- Create
-
Run locally
- Start backend:
cd backend npm run dev - Start frontend:
cd frontend npm run dev
- Start backend:
The full-stack app is deployed using Render for both frontend and backend. WebRTC signaling and Socket communication are optimized for low-latency user interactions.
View the preview here
This project is licensed under the MIT License.
Mozeel Vanwani | IIT Kharagpur CSE
Email: [vanwani.mozeel@gmail.com]