feat(admin): add Activity Log backend services (Phase 2)
Core services for activity logging system:
1. ActivityLog Service (backend/src/services/activityLog.js)
- Centralized logging with fire-and-forget pattern
- 18 action constants (auth, event, match, admin, chat)
- Query interface with filtering (date, action, user, category)
- Socket.IO emission for real-time streaming
- Statistics and action types endpoints
- Never throws - logging cannot crash app
2. Request Utility (backend/src/utils/request.js)
- getClientIP() - Extract client IP from headers/socket
- Handles X-Forwarded-For and X-Real-IP proxy headers
- IPv6-mapped IPv4 conversion
3. Admin Middleware (backend/src/middleware/admin.js)
- requireAdmin() - Protect admin routes
- Fresh DB check of isAdmin flag
- Returns 403 for non-admin users
- Use after authenticate middleware
Next phases: logging integration points, API endpoints, frontend UI