This repository contains two frontends for the Beauty LMS video conferencing system:
- React TypeScript Frontend (in
src/
directory) - Original web-based implementation - Flutter Frontend (in
flutter_app/
directory) - Cross-platform mobile and web application
The Flutter application provides the same functionality as the React frontend but with cross-platform support for Android, iOS, and Web.
cd flutter_app
flutter pub get
flutter run
See flutter_app/README.md for detailed Flutter setup and usage instructions.
A React TypeScript frontend for testing the Beauty LMS video conferencing system, including meeting management, real-time chat, and participant features.
npm install
npm start
- Meeting Creation: Create new video meeting rooms with custom titles and descriptions
- Meeting Joining: Join existing meetings using 6-digit meeting codes
- Real-time Chat: Socket.IO powered chat system with message history
- Participant Management: View and manage meeting participants in real-time
- API Testing Suite: Comprehensive testing tool for all backend APIs
- Responsive Design: Mobile-friendly interface with modern UI
- Meeting room interface with video placeholder
- Participant list with real-time updates
- Chat panel with system messages
- Meeting controls (mute, camera, screen share placeholders)
- Health check endpoint testing
- Complete meeting lifecycle testing (create β join β get info β get participants β end)
- Socket.IO connection testing
- Real-time chat message testing
- Comprehensive test result reporting
frontend/src/
βββ components/ # React components
β βββ APITester.tsx # API testing interface
β βββ ChatPanel.tsx # Real-time chat component
β βββ MeetingCreator.tsx # Meeting creation form
β βββ MeetingJoiner.tsx # Meeting join form
β βββ MeetingRoom.tsx # Main meeting interface
β βββ ParticipantsList.tsx # Participants management
βββ services/ # API and WebSocket services
β βββ apiService.ts # REST API calls
β βββ socketService.ts # Socket.IO client
βββ App.tsx # Main application component
βββ App.css # Styling
- API Service: Handles all REST API communication with the backend
- Socket Service: Manages Socket.IO connections for real-time features
- Meeting Management: Complete meeting lifecycle management
- Chat System: Real-time messaging with participant notifications
- Node.js 16+ and npm
- Beauty LMS backend running on port 3000
# Navigate to frontend directory
cd frontend
# Install dependencies
npm install
# Start development server (will run on port 3001)
npm start
{
"axios": "^1.6.0", // HTTP client for API calls
"socket.io-client": "^4.7.2", // Socket.IO client
"react": "^18.2.0", // React framework
"typescript": "^4.9.5" // TypeScript support
}
- Frontend: http://localhost:3001
- Backend: http://localhost:3000
- Click "π Create New Meeting"
- Fill in host name, title, and description
- Click "π₯ Create Meeting"
- You'll be automatically joined as the host
- Click "π― Join Existing Meeting"
- Enter the 6-digit meeting code
- Enter your participant name
- Click "π Join Meeting"
- Real-time Chat: Send and receive messages instantly
- Participant List: See who's in the meeting
- Meeting Controls: Toggle chat, refresh data, leave/end meeting
- System Messages: Automatic notifications for joins/leaves
- Click "π§ͺ API Testing" in the navigation
- Click "π Run All Tests" to test all endpoints
- View detailed results with response data
- Check test summary for pass/fail statistics
// Meeting Management
POST /api/meeting/create // Create new meeting
POST /api/meeting/join // Join existing meeting
GET /api/meeting/:code // Get meeting info
GET /api/meeting/:code/participants // Get participants
DELETE /api/meeting/:code // End meeting
// Health Check
GET /health // Backend health status
// Client β Server
'join-meeting' // Join meeting room
'leave-meeting' // Leave meeting room
'chat-message' // Send chat message
// Server β Client
'chat-message' // Receive chat message
'participant-joined' // New participant notification
'participant-left' // Participant left notification
- Create and join meetings with multiple browser tabs
- Test real-time chat between participants
- Verify participant list updates
- Test meeting end/leave functionality
The built-in API tester validates:
- β Backend health check
- β Meeting creation
- β Meeting information retrieval
- β Participant joining
- β Participant list retrieval
- β Socket.IO connectivity
- β Real-time chat messaging
- β Meeting termination
- Comprehensive pass/fail reporting
- Detailed error messages and debugging info
- Response data inspection
- Timestamp tracking for all tests
- Modern Gradient Background: Beautiful purple gradient
- Glass Morphism Effects: Translucent panels with backdrop blur
- Responsive Layout: Mobile-first design approach
- Emoji Icons: Friendly and intuitive interface
- Real-time Indicators: Connection status and participant counts
- Hover Effects: Smooth transitions and feedback
- Form Validation: Real-time input validation
- Loading States: Visual feedback during API calls
- Error Handling: User-friendly error messages
- Success Animations: Satisfying interaction feedback
- Full TypeScript support with proper typing
- Interface definitions for all API responses
- Type-safe component props and state management
- Comprehensive error catching and user feedback
- API error response parsing and display
- Socket connection error management
- Graceful degradation for offline scenarios
- Efficient React component architecture
- Minimal re-renders with proper dependency arrays
- Optimized Socket.IO event handling
- Lazy loading and code splitting ready
- WebRTC Integration: Real video/audio streaming
- Screen Sharing: Desktop sharing capabilities
- Recording: Meeting recording and playback
- File Sharing: Document and media sharing
- User Authentication: Login and user management
- Meeting Scheduling: Calendar integration
- State Management: Redux/Zustand for complex state
- Testing Suite: Jest and React Testing Library
- PWA Support: Offline capabilities and installability
- Performance Monitoring: Analytics and error tracking
For issues or questions:
- Check the API testing tool for backend connectivity
- Verify the backend server is running on port 3000
- Check browser console for detailed error messages
- Ensure Socket.IO connections are not blocked by firewall
- Frontend Version: 1.0.0
- React Version: 18.2.0
- Backend Compatibility: Beauty LMS v1.0.0
- Node.js: 16+ required
- Browser Support: Chrome, Firefox, Safari, Edge (latest versions)