A modern, real-time chat application built with React and Node.js, featuring Google OAuth authentication, real-time messaging, and a beautiful glassmorphism UI design.
- 🔐 Google OAuth Authentication - Secure login with Google accounts
- 💬 Real-Time Messaging - Instant message delivery using Socket.io
- 🏠 Room-Based Chat - Join different chat rooms for organized conversations
- 🎨 Modern UI/UX - Beautiful glassmorphism design with smooth animations
- 📱 Responsive Design - Works seamlessly on desktop and mobile devices
- ⚡ Fast Performance - Optimized with Vite for lightning-fast development and builds
- 🔄 Real-Time Notifications - Toast notifications for user actions and events
- React 19 - Modern React with latest features
- Vite - Fast build tool and development server
- Tailwind CSS - Utility-first CSS framework
- Framer Motion - Production-ready motion library for React
- React Router DOM - Client-side routing
- Socket.io Client - Real-time bidirectional event-based communication
- Node.js - JavaScript runtime environment
- Express.js - Fast, unopinionated web framework
- Socket.io - Real-time communication library
- CORS - Cross-Origin Resource Sharing middleware
- Nodemon - Development utility for auto-restarting server
Before running this application, make sure you have the following installed:
- Node.js (v18 or higher)
- npm or yarn - Package manager
- Git - Version control system
git clone https://github.com/Abishek00ujj/Hotspot.git
cd Hotspot# Navigate to backend directory
cd Backend
# Install dependencies
npm install
# Start the development server
npm run dev
# or for production
npm startThe backend server will start on http://localhost:199
# Navigate to frontend directory (in a new terminal)
cd Frontend
# Install dependencies
npm install
# Start the development server
npm run devThe frontend application will start on http://localhost:5173 (or the next available port)
- Go to the Google Cloud Console
- Create a new project or select an existing one
- Enable the Google+ API
- Create OAuth 2.0 credentials
- Add your domain to authorized origins
- Configure your OAuth client ID in the frontend application
Hotspot/
├── README.md
├── Backend/
│ ├── entity.js # User management utilities
│ ├── package.json # Backend dependencies and scripts
│ └── server.js # Express server with Socket.io
└── Frontend/
├── eslint.config.js # ESLint configuration
├── index.html # HTML template
├── package.json # Frontend dependencies and scripts
├── vite.config.js # Vite configuration
├── vercel.json # Vercel deployment config
├── public/ # Static assets
└── src/
├── App.jsx # Main application component
├── Login.jsx # Authentication page
├── main.jsx # Application entry point
├── index.css # Global styles
├── assets/ # Images and icons
├── components/ # Reusable React components
│ ├── AnimatedBackground.jsx
│ ├── Chat.jsx
│ ├── ChatHeader.jsx
│ ├── ChatMessages.jsx
│ ├── Herchat.jsx
│ ├── Input.jsx
│ ├── MessageInput.jsx
│ ├── Navbar.jsx
│ └── NicknameSetup.jsx
└── pages/ # Page components
├── Aboutus.jsx
└── Home.jsx
-
Access the Application: Open your browser and navigate to
http://localhost:5173 -
Authentication:
- Click on "Sign in with Google" to authenticate
- Accept the terms and conditions
-
Join a Chat Room:
- you will be added to a room based on your Location
- Set your display name/nickname
-
Start Chatting:
- Send messages in real-time
- See when other users join or leave
- Enjoy the smooth animations and responsive design
The backend server runs on port 199 by default. You can modify this in Backend/server.js:
server.listen(199, () => {
console.log("🚀 Server running at http://localhost:199");
});Vite configuration can be found in Frontend/vite.config.js. The default development server runs on port 5173.
Hotspot is designed to work seamlessly across all device sizes:
- Desktop: Full-featured experience with optimal layout
- Tablet: Adapted UI for medium screens
- Mobile: Touch-optimized interface for small screens
This project is licensed under the ISC License. See the LICENSE file for details.
- Abishek - GitHub Profile
- Mithran B - GitHub Profile
Happy Chatting! 🎉