Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔗 Connecto – Real-Time Voice Calling App

Connecto is a real-time voice calling application built using WebRTC, Socket.IO, and the MERN stack, designed with scalability in mind for future features like chat and video calling.

The project uses a monorepo architecture with shared validation logic and modern tooling.


🚀 Features

  • 🔊 Real-time voice calls using WebRTC
  • Instant signaling with Socket.IO
  • 👥 Online/offline user detection (Redis)
  • 📞 Incoming call accept / reject flow
  • 🔄 Call lifecycle handling (ringing → connected → ended)
  • 🔐 JWT-based authentication
  • 📦 Shared validation schemas using Zod
  • 🌐 Production-ready deployment (Vercel + Render)

🧠 Tech Stack

Frontend

  • React (Vite)
  • TypeScript
  • Zustand (state management)
  • React Router
  • Socket.IO Client
  • WebRTC
  • Tailwind CSS

Backend

  • Node.js
  • Express
  • Socket.IO
  • MongoDB
  • Redis (online user tracking)
  • JWT Authentication
  • ImageKit (media handling)
  • Zod (validation)

DevOps

  • Client: Vercel
  • Server: Render
  • Monorepo: npm workspaces

🛠️ Local Development

Install dependencies

npm install

Run client

npm run dev:client

Run server

npm run dev:server

🌍 Environment Variables

Server (server/.env)

  • PORT=5000
  • MONGO_URI=your_mongo_uri_here
  • REDIS_URL=your_redis_url_here
  • ACCESS_TOKEN_SECRET=your_access_token_secret_here
  • REFRESH_TOKEN_SECRET=your_refresh_token_secret_here
  • CLIENT_URL=http://localhost:5173
  • IMAGEKIT_PUBLIC_KEY=your_imagekit_public_key_here
  • IMAGEKIT_PRIVATE_KEY=your_imagekit_private_key_here
  • IMAGEKIT_URL_ENDPOINT=your_imagekit_url_endpoint_here

Client (client/.env)

About

Connecto - A Real-Time One-to-one Calling App

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages