A real-time chat application built with React and Socket.io, featuring secure authentication and room-based messaging.
- Node.js (v14 or higher)
- npm
# Install dependencies
npm install
# Install client dependencies
cd client && npm install
# Install server dependencies
cd ../server && npm install# Start the server (from server directory)
cd server && npm start
# Start the client (from client directory)
cd ../client && npm start- 🔐 Secure authentication with JWT tokens
- 💬 Real-time messaging with Socket.io
- 🏠 Public and private chat rooms
- 🔒 Room-based permissions
- 👥 User management
- 📱 Responsive design
- bcrypt password hashing with salt rounds
- JWT token authentication
- Socket.io authentication middleware
- Room-based authorization
Create .env files in both client and server directories:
Server (.env):
JWT_SECRET=your-jwt-secret-key
SESSION_SECRET=your-session-secret-key
CLIENT_URL=http://localhost:3000
Client (.env):
REACT_APP_SERVER_URL=http://localhost:5000
Comprehensive documentation is available in the /documents folder (excluded from version control).
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
MIT License