A cross-platform web application for testing computer hardware components in repair shops. Built with Vue 3 and Node.js for maximum compatibility across modern web browsers.
- Webcam Test: Test camera functionality with live preview and snapshot capability
- Microphone Test: Test audio input with volume visualization and recording playback
- Speaker Test: Test audio output with stereo channel testing, frequency sweeps, and music playback
- Cross-Platform: Works on Windows, macOS, and Linux through modern web browsers
- Modern UI: Beautiful, responsive interface with step-by-step testing process
- Frontend: Vue 3 + Vite
- Backend: Node.js + Express
- Styling: Pure CSS with modern design patterns
- Node.js 16+ (recommended: Node.js 18+)
- npm or yarn package manager
git clone <repository-url>
cd mmit-testing-appnpm run install:allThis will install dependencies for the root project, frontend, and backend.
npm run devThis starts both the backend server (port 3000) and frontend development server (port 5173).
# Frontend only
npm run dev:frontend
# Backend only
npm run dev:backendnpm run buildThis creates optimized production files in the frontend/dist folder.
mmit-testing-app/
├── frontend/ # Vue 3 frontend application
│ ├── src/
│ │ ├── components/ # Test components
│ │ │ ├── WebcamTest.vue
│ │ │ ├── MicrophoneTest.vue
│ │ │ └── SpeakerTest.vue
│ │ ├── App.vue # Main application component
│ │ └── main.js # Vue app entry point
│ ├── index.html
│ ├── package.json
│ └── vite.config.js
├── backend/ # Node.js backend server
│ ├── src/
│ │ └── server.js # Express server
│ └── package.json
├── package.json # Root package.json
└── README.md
- Start the development server:
npm run dev - Open your browser to
http://localhost:5173 - Follow the step-by-step testing process
The application guides users through a 3-step testing process:
- Requests camera permissions
- Shows live camera preview
- Allows taking test photos
- Validates camera functionality
- Requests microphone permissions
- Shows real-time volume visualization
- Records and plays back test audio
- Validates microphone functionality
- Tests left and right audio channels individually
- Provides frequency sweep testing
- Includes music playback test
- Volume control testing
- User validation checklist
- Chrome 88+ (recommended)
- Firefox 85+
- Safari 14+
- Edge 88+
Note: Camera and microphone testing requires HTTPS in production or localhost for development.
The backend provides several API endpoints:
GET /api/health- Health checkPOST /api/test-results- Save test results (future use)GET /api/system-info- Get system information
NODE_ENV- Set to 'production' for production buildsPORT- Backend server port (default: 3000)
- Ensure browser permissions are granted
- Check if another application is using the devices
- Try refreshing the page
- Check system volume settings
- Ensure speakers/headphones are connected
- Try different browsers if using web version
- Clear node_modules and reinstall:
rm -rf node_modules && npm run install:all - Ensure Node.js version is 16+
- Check for platform-specific build requirements
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly on multiple platforms
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions, please open an issue in the repository or contact the development team.