This project tracks active users on a page in real-time using Express, Socket.io, and React. Each connected user's IP address is saved along with their socket ID, and the count of online users is updated dynamically.
- Real-time user tracking with WebSockets
- Stores IP address of connected users
- Live updates on the frontend
- API to get active users
- Handles user disconnects properly
- Backend: Node.js, Express, Socket.io
- Frontend: React, WebSockets
git clone https://github.com/your-username/repo-name.git
cd repo-name# Install backend dependencies
cd server
npm install
# Install frontend dependencies
cd client
npm install# Start backend (Express & Socket.io)
cd server
node index.js
# Start frontend (React)
cd client
npm start| Method | Endpoint | Description |
|---|---|---|
| GET | /api/current-users |
Get list of active users |
User connected: abc123 from IP: 192.168.1.10
User connected: xyz456 from IP: 192.168.1.11
User disconnected: abc123π Users on this Page
2 users online
1. IP: 192.168.1.10
2. IP: 192.168.1.11
β
Store user data in Redis for scalability
β
Use GeoIP API to display location info
β
Add user authentication for tracking logged-in users
This project is licensed under the MIT License.
Feel free to submit issues or pull requests!
π GitHub Repository: repo-link