A modern, gaming-themed real-time chat application built with React, TypeScript, and Socket.IO. Features a sleek, futuristic design with neon accents and dark mode.
- Quick username-based authentication
- Multiple chat rooms support
- Real-time messaging
- Live user presence tracking
- Dynamic room creation
- Responsive design
- Node.js (v14 or later)
- npm
-
Clone the repository:
git clone https://github.com/Avinash987/sample-chat.git cd sample-chat -
Install frontend dependencies:
npm install
-
Install server dependencies:
cd server npm install cd ..
- Start both the client and server:
This will launch: http://localhost:5173
npm run dev
src/
├── components/ # Reusable UI components
├── pages/ # Main page components
│ ├── Login.tsx # Login screen
│ ├── ChatRooms.tsx # Room listing
│ └── ChatRoom.tsx # Chat interface
├── services/ # Backend services
└── App.tsx # Main app component
server/ # Socket.IO backend
-
Frontend
- React with TypeScript
- Socket.IO Client
- Modern CSS with CSS Variables
- Vite for blazing fast builds
-
Backend
- Node.js
- Socket.IO
- Express
- Smooth message animations
- Intuitive room navigation
- User presence indicators
- Responsive design for all devices
- Gaming-inspired color scheme
- Neon accent effects
- Used Vite as the build tool for fast development and optimized production builds
- Implemented Socket.IO for real-time communication
- Used React Router for client-side routing
- Maintained a clean architecture with separate components for different features
- Used TypeScript for better type safety and development experience
- Add user authentication with JWT
- Implement persistent chat history
- Add private messaging functionality
- Add file sharing capabilities
- Implement user profiles with avatars
- Add message reactions and threading
- Implement room moderation features


