A clean and simple React application for uploading pictures and recording audio.
cd Frontend
npm installnpm run devThe app will run on http://localhost:5173
ustad/
├── Frontend/ # React application
│ ├── src/ # React source code
│ ├── package.json # Frontend dependencies
│ ├── server.js # Express server (moved from backend)
│ ├── backend-package.json # Backend dependencies
│ ├── backend-README.md # Backend documentation
│ └── README.md # Frontend documentation
└── README.md # This file
- Upload images from your device
- Real-time preview
- Supports all common image formats
- Responsive image display
- Record audio using your microphone
- Built-in audio player for playback
- Automatic microphone permission handling
- Records in WAV format
- Clean, modern interface
- Mobile-responsive design
- Smooth animations
- Intuitive controls
- Click the "Choose Image" button
- Select an image file from your device
- View the preview below
- Click "🎤 Start Recording"
- Allow microphone access when prompted
- Speak into your microphone
- Click "⏹️ Stop Recording" when done
- Use the audio player to listen to your recording
cd Frontend
npm run devcd Frontend
npm run build
npm run preview- React 18 - UI library
- Vite - Build tool and dev server
- CSS3 - Modern styling with gradients
- Web Audio API - Audio recording
- File API - Image upload and preview
- Node.js - JavaScript runtime
- Express.js - Web framework (moved to Frontend folder)
- Chrome 66+
- Firefox 60+
- Safari 14+
- Edge 79+
- Audio recording requires HTTPS in production (or localhost for development)
- Microphone access must be granted by the user
- Images and audio are stored temporarily in the browser
- No server upload functionality (client-side only)
- Make sure to allow microphone access when prompted
- Check browser settings for microphone permissions
- Try refreshing the page if permission is denied
- Ensure the file is an image format (JPEG, PNG, GIF, etc.)
- Check file size (large files may take time to load)
- Ensure your microphone is working
- Check browser compatibility
- Try using Chrome or Firefox for best compatibility
Happy Uploading! 🎉