⚡ Server-side rendering with Next.js
🍪 Cookie-based authorization with JSON web tokens
📞 Realtime voice call with WebRtc
💬 Realtime chat with Socket.io
🖼️ Cloud image upload with Cloudinary
📱 Otp verification with Twillio
🔐 Only one logged in device allowed at one time
Clone this repository and install dependencies by running:
cd frontend
npm install
cd backend
npm install
Create a new file named .env
in the frontend and the backend directory with the following environment variables in the root of the project folder:
Backend .env
PORT=3001
MONGO_URI=
NODE_ENV=
API_V=1
TWILLIO_SID=
TWILLIO_TOKEN=
TWILLIO_TRIAL_NO=
JWT_SECRET=
DEFAULT_PROFILE_PIC=
HASH_SECRET=
BUCKET_NAME =
AWS_S3_ACCESS_KEY_ID =
AWS_S3_ACCESS_KEY_SECRET =
Frontend .env
NEXT_PUBLIC_CLOUDINARY_URL=
For development mode, run:
cd frontend
npm run dev
cd backend
npm run start
For production mode, run:
cd frontend
npm run build
npm start
Visit http://localhost:3000 or your custom port environment variable to view the app.