40 lines
1016 B
Markdown
40 lines
1016 B
Markdown
# VoiceDrop
|
|
|
|
Minimal Expo app for one job: record audio and send it to a backend endpoint.
|
|
|
|
## What It Does
|
|
|
|
- Requests microphone permission.
|
|
- Records a single audio clip on-device.
|
|
- Uploads that clip as `multipart/form-data`.
|
|
- Lets you configure the backend URL, bearer token, and form field name from the UI.
|
|
|
|
## Run It
|
|
|
|
```bash
|
|
npm install
|
|
npx expo start
|
|
```
|
|
|
|
If you build native apps after changing config/plugins, run prebuild again:
|
|
|
|
```bash
|
|
npx expo prebuild
|
|
```
|
|
|
|
## Backend Expectations
|
|
|
|
The app sends a `POST` request to the URL you enter with a multipart body containing one file field. By default the field name is `file`.
|
|
|
|
If you enter a bearer token, the request includes:
|
|
|
|
```txt
|
|
Authorization: Bearer <token>
|
|
```
|
|
|
|
## Notes
|
|
|
|
- `expo-av` is required for native recording.
|
|
- The backend URL and auth token are persisted locally with AsyncStorage.
|
|
- The current environment may require a fresh `npm install` before linting or running because the dependency manifest was simplified around the new app.
|