A modern, real-time chat application built with React, Vite, and Socket.io. This is the frontend repository for the Web Chat App project.
🔴 PRIVACY WARNING: This is a public chat application where all user names are visible to all users. DO NOT use your real name or any personal identifying information as your username. Use a pseudonym or nickname for privacy and security.
🌐 Live Application: https://web-chatapp-client.vercel.app/
This frontend connects to a separate backend server. You can find the backend repository here:
-
Backend Repository: https://github.com/Nugi29/web-chatapp-server.git
-
The backend handles user authentication, message storage, and real-time communication
- ✅ Real-time messaging with Socket.io
- ✅ User authentication (Login/Signup)
- ✅ User profiles with avatar upload
- ✅ Responsive design with Tailwind CSS
- ✅ Online/Offline user status
- ✅ Modern UI with smooth animations
- ✅ Hot toast notifications
- ✅ Protected routes
- React 19 - Frontend framework
- Vite - Build tool and dev server
- Tailwind CSS - Styling framework
- Socket.io Client - Real-time communication
- React Router DOM - Client-side routing
- Axios - HTTP client
- React Hot Toast - Notifications
- Clone this repository
- Install dependencies:
npm install- Create a
.envfile in the root directory:
VITE_BACKEND_URL=your_backend_server_url- Start the development server:
npm run devnpm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
src/
├── components/ # Reusable UI components
│ ├── ChatContainer.jsx
│ ├── RightSidebar.jsx
│ └── Sidebar.jsx
├── pages/ # Page components
│ ├── HomePage.jsx
│ ├── LoginPage.jsx
│ └── ProfilePage.jsx
├── context/ # React context providers
│ ├── AuthContext.jsx
│ └── ChatContext.jsx
├── lib/ # Utility functions
│ └── util.js
├── assets/ # Static assets
└── App.jsx # Main app component
- ChatContainer: Main chat interface
- Sidebar: User list and navigation
- RightSidebar: User profile/settings
- AuthContext: Handles user authentication state
- ChatContext: Manages chat-related state
This app is configured for deployment on Vercel:
- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on push to main branch
vite.config.js- Vite configurationeslint.config.js- ESLint rulesvercel.json- Vercel deployment settingstailwind.config.js- Tailwind CSS configuration
- This is a public chat application
- All usernames are visible to all users
- DO NOT use your real name
- DO NOT share personal information
- Use pseudonyms or nicknames only