A full-stack real-time chat application built with React, Socket.io, Express, and Node.js.
- Real-time messaging using WebSockets
- Join and leave chat rooms
- Display active users in each room
- Message timestamps
- Typing indicators
- Responsive design with Tailwind CSS
- Dark mode support
- React
- Vite
- Socket.io-client
- React Router
- Tailwind CSS
- date-fns
- Node.js
- Express
- Socket.io
- CORS
- Node.js (v16+)
- npm or yarn
- Clone the repository
git clone <repository-url>
cd chat-app
- Install frontend dependencies
npm install
- Install backend dependencies
cd server
npm install
cd ..
- Start the backend server
cd server
npm run dev
- In a new terminal, start the frontend
npm run dev
- Open your browser and navigate to
http://localhost:5173
- Push your code to a GitHub repository
- Import the project in Vercel
- Set the build command to
npm run build - Set the output directory to
dist
- Create a new Web Service in Render
- Connect your GitHub repository
- Set the build command to
cd server && npm install - Set the start command to
cd server && npm start - Add environment variables:
NODE_ENV=productionCLIENT_URL=<your-frontend-url>
This project is licensed under the MIT License.