A web application that allows users to record audio, play it back, and manually transcribe the content. The application features audio recording, playback, text transcription, and persistent storage of audio files with their transcriptions.
- Project Overview
- Project Structure
- Technologies Used
- Getting Started
- How to Run the Project
- Database
This project includes:
- Backend: A REST API built with FastAPI, handling audio data and transcription storage.
- Frontend: A React-based interface using Material-UI and Wavesurfer.js for audio recording and playback.
- Front-end files:
public/ - Static files src/ - Source code package.json - Frontend dependencies package-lock.json - Frontend dependency lock file
- Back-end files:
main.py - Main server file models.py - Database models database.py - Database configuration requirements.txt - Python dependencies sql_app.db - SQLite database file
- Backend: FastAPI, Python, SQLite, SQLAlchemy, Pydantic, Python-Decouple
- Frontend: React, Material-UI, Axios, Wavesurfer.js
Follow these instructions to set up and run the project on your local machine.
- Python 3.8+
- Node.js 14+ and npm (Node Package Manager)
- SQLite
- Clone the repository:
git clone https://github.com/your-username/Audio-transcript-app.git
- Go to the directory
cd Audio-transcript-app - Set up a virtual environment (recommended):
python -m venv venv
- Activate the virtual environment:
on Windows
venv\Scripts\activate
- On Mac/Linux:
source venv/bin/activate - Install dependencies
pip install -r requirements.txt
- Run the backend server:
uvicorn main:app --reload
To install dependencies, you can check in requirements.txt
- Go to directory
cd Audio-transcript-app - Install frontend dependencies
npm install
The package.json includes dependencies.
- Run the frontend server:
npm start
- Backend: Accessible at http://127.0.0.1:8000 (for API calls).
- Frontend: Open your browser and navigate to http://localhost:3000.
- The application uses an SQLite database (sql_app.db) to store audio and transcription data. Ensure that this file is in the root directory of the project.
- If you need to reset the database:
- Delete sql_app.db from the root directory.
- Run the backend server again to generate a fresh database with the required schema.