A real-time call center application built with React, Node.js, and Twilio, offering modern voice communication features with a sleek interface and robust architecture.
This project implements a call center solution with real-time call handling, queue management, and agent interactions. It's split into two parts:
- Client: Built with React and Vite
- Server: Built with Node.js and Express
.
├── client/ # React frontend (Vite)
└── server/ # Node.js backend (Express)
- Real-time Voice Calls with Twilio
- Call Queue Management
- Agent Status Tracking
- Real-time Updates with Socket.IO
- Modern UI with Semantic UI React
- Secure Authentication with JWT
- SMS Verification for user authentication
- React 18
- Vite 6
- Twilio Client SDK
- Socket.IO Client
- Semantic UI React
- Axios (HTTP client)
- Immer (state management)
- React Hooks
- Node.js
- Express
- Socket.IO
- Twilio SDK
- JWT for authentication
- CORS enabled
- dotenv for environment variables
git clone https://github.com/andrew-dev-p/twilio-react-nodejs-call-center
cd twilio-react-nodejs-call-center
cd client
npm install
cd ../server
npm install
cd client
npm run dev
cd server
npm start
VITE_API_URL=http://localhost:3000
TWILIO_TOKEN_SECRET=your_twilio_token_secret
TWILIO_TOKEN_SID=your_twilio_token_sid
TWILIO_ACCOUNT_SID=your_twilio_account_sid
TWILIO_PHONE_NUMBER=your_twilio_phone_number
TWILIO_PHONE_NUMBER_SID=your_twilio_phone_number_sid
TWILIO_VERIFY_SERVICE_SID=your_twilio_verify_service_sid
TWILIO_TWIML_APP_SID=your_twilio_twiml_app_sid
MY_NUMBER=your_verified_phone_number
PORT=3000
SESSION_SECRET=your_session_secret
JWT_SECRET=your_jwt_secret
- Voice Calls: Handle incoming and outgoing calls using Twilio's Voice API
- Call Queue: Manage multiple calls with a queue system
- Real-time Updates: Live status updates using Socket.IO
- Agent Interface: Modern UI for call center agents
- Authentication: Secure login with SMS verification
- Call Control: Accept, reject, and transfer calls
- Status Tracking: Monitor agent and call status in real-time
- JWT-based authentication
- Secure WebSocket connections
- Environment variable protection
- CORS configuration
- Twilio token-based authentication