Goal: Capture an audio recording, upload it to a cloud storage provider (AWS S3 / Firebase Storage / any provider), obtain the file URL, and store the URL in the database linked to the correct user and/or presentation.
Requirements
- Record or accept an audio file (wav/mp3/m4a).
- Upload audio to cloud storage:
- Option A: AWS S3
- Option B: Firebase Storage
- Option C: Any provider (Cloudinary, GCS, Azure Blob, etc.)
- Get the uploaded file URL (public URL or signed URL).
- Save the URL in the database with metadata:
- user_id
- presentation_id (optional but recommended)
- file_url
- provider
- created_at
- Must be extensible (easy to add another provider later).
Deliverables
Flow
- Client records audio (or uploads file)
- Backend receives audio file
- Backend uploads file to cloud storage
- Storage returns
file_url (+ file_key)
- Backend saves record in DB
- Backend returns saved record (id + url)
Acceptance Criteria
Goal: Capture an audio recording, upload it to a cloud storage provider (AWS S3 / Firebase Storage / any provider), obtain the file URL, and store the URL in the database linked to the correct user and/or presentation.
Requirements
Deliverables
AudioRecordingFlow
file_url(+file_key)Acceptance Criteria
AudioRecordingwith correct user linkage