This is a service consisting of a Javascript (React) frontend and Node backend for quickly and easily recording, storing, removing, and sharing short audio recordings made natively in the browser.
- Javascript (React),
- Node.js.
- Frontend (website):
- Uses React with Material-UI to present a responsive and simple UI,
- Uses the Media Stream API for native in-browser audio recording, compression, and playback,
- Uses uuid and the Web Storage API for identification purposes (no manual login/registration required to provide a list of a particular browser's past recordings).
- Backend (server):
- Uses Express to provide a simple server,
- Uses Multer for handling file uploads,
- Uses lowdb for storing a database of recordings per user,
- Regularly removes old recordings and their corresponding entries.
- Provide necessary permissions,
- Press record button (note: the Media Stream API only allows for recording on localhost or https),
- Press stop button or wait 5 minutes,
- Press play button to listen to recording (optional),
- Press upload button,
- Press copy icon next to new entry in list of recordings,
- Share recording with other people.
Check out this demo right here.
git clone https://github.com/54ac/voice-memo.git .
npm i
npm start