A powerful real-time chat application that breaks language barriers by automatically translating messages between users speaking different languages. Built with modern web technologies and featuring voice accessibility for inclusive communication.
react nodejs multilingual translation realtime chat socketio mongodb firebase redux tailwindcss
voice-recognition text-to-speech ai-translation language-detection accessibility web-speech-api realtime-translation cross-platform
react-19 expressjs redux-toolkit tailwindcss-3 mongodb jwt-authentication websocket firebase-auth axios nodemon
google-translate language-translator multilingual-chat internationalization i18n localization translation-api language-support 100-languages
responsive-design dark-mode modern-ui user-experience accessibility mobile-friendly progressive-web-app material-design
fullstack mern-stack javascript es6 async-await rest-api real-time-communication web-development frontend backend
chat-application messaging-app social-platform communication-tool translation-service language-learning educational-tool business-tool
language-learning international-communication business-communication educational-platform accessibility-tool travel-app social-networking team-collaboration
- Real-Time Messaging: Instant message delivery using Socket.io
- Automatic Translation: Messages translated to each user's preferred language
- Voice Support: Speech-to-text and text-to-speech capabilities
- Multi-Language Support: 20+ languages including Hindi, Bengali, Tamil, Telugu, and more
- Chat Rooms: Create and join group conversations
- User Authentication: Secure JWT-based authentication
- Responsive Design: Works seamlessly on desktop and mobile
- Online Status: See who's online and typing indicators
- Message History: Persistent chat storage with MongoDB
- React.js - User interface framework
- Redux Toolkit - State management
- Socket.io Client - Real-time communication
- TailwindCSS - Styling framework
- Web Speech API - Voice recognition and synthesis
- Node.js - Runtime environment
- Express.js - Web framework
- Socket.io - Real-time communication server
- MongoDB - Database
- JWT - Authentication
- Google Translate API - Translation service
- Node.js (v14 or higher)
- MongoDB (local or cloud instance)
- npm or yarn
- Clone the repository
git clone <repository-url>
cd multilingual-chat-translator- Install dependencies
# Install server dependencies
npm install
# Install client dependencies
cd client
npm install
cd ..π Note: node_modules is intentionally excluded from Git (.gitignore) because:
- Large file sizes (GBs of data)
- Security best practices
- Can be regenerated with
npm install - Platform-specific dependencies
- Set up environment variables
Server (.env)
cp .env.example .env
# Edit .env with your configurationClient (.env)
cd client
cp .env.example .env
# Edit .env with your configuration
cd ..- Start MongoDB
# If using local MongoDB
mongod- Run the application
# Start both server and client
npm run dev
# Or start individually
npm run server # Backend server on port 5000
npm run client # Frontend on port 3000- Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000/api
-
Create an Account
- Sign up with email and password
- Choose your preferred language
-
Join or Create Chat Rooms
- Create public or private rooms
- Join existing rooms
-
Start Chatting
- Type messages in your preferred language
- Messages automatically translate to recipients' languages
- Use voice input for hands-free messaging
-
Voice Features
- Click microphone button for speech-to-text
- Messages can be read aloud using text-to-speech
- English (en)
- Spanish (es)
- French (fr)
- German (de)
- Italian (it)
- Portuguese (pt)
- Russian (ru)
- Chinese (zh)
- Japanese (ja)
- Korean (ko)
- Arabic (ar)
- Hindi (hi)
- Bengali (bn)
- Tamil (ta)
- Telugu (te)
- Marathi (mr)
- Gujarati (gu)
- Kannada (kn)
- Malayalam (ml)
- Punjabi (pa)
- Urdu (ur)
multilingual-chat-translator/
βββ server/ # Backend application
β βββ models/ # MongoDB models
β βββ routes/ # API routes
β βββ middleware/ # Express middleware
β βββ utils/ # Utility functions
β βββ index.js # Server entry point
βββ client/ # Frontend application
β βββ src/
β β βββ components/ # React components
β β βββ store/ # Redux store
β β βββ services/ # API and socket services
β β βββ App.js # Main App component
β βββ public/ # Static files
βββ package.json # Root package file
βββ README.md # This file
PORT=5000
NODE_ENV=development
MONGODB_URI=mongodb://localhost:27017/multilingual-chat
JWT_SECRET=your-secret-key
JWT_EXPIRE=7d
GOOGLE_TRANSLATE_API_KEY=your-api-key
CLIENT_URL=http://localhost:3000REACT_APP_API_URL=http://localhost:5000/api
REACT_APP_SERVER_URL=http://localhost:5000
REACT_APP_ENV=development- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
POST /api/auth/register- Register new userPOST /api/auth/login- User loginGET /api/auth/me- Get current userPUT /api/auth/profile- Update profilePOST /api/auth/logout- User logout
GET /api/chat/rooms- Get user's chat roomsPOST /api/chat/rooms- Create new roomGET /api/chat/rooms/:id- Get room detailsPOST /api/chat/rooms/:id/join- Join roomGET /api/chat/rooms/:id/messages- Get room messages
GET /api/user/search- Search usersGET /api/user/online- Get online usersGET /api/user/:id- Get user profile
- JWT-based authentication
- Password hashing with bcrypt
- Rate limiting on API endpoints
- CORS protection
- Input validation and sanitization
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
Note: Voice features require browser support for Web Speech API.
This project is licensed under the MIT License - see the LICENSE file for details.
- Varun Bansal - Market Analysis & Feedback Collection
- Raushan Kumar - Full Stack Research & Revenue Analysis
- Deepak Kumar - Google Form Creation & Survey Analysis
- Ankush Gupta - Cost Analysis & Survey Data Summarization
- Google Translate API for translation services
- Socket.io for real-time communication
- Web Speech API for voice features
- React and Redux communities
- TailwindCSS for styling utilities