This project consists of a full-stack application with a ReactJS frontend, a FastAPI backend, and SQLite as the database. It also uses OpenAI Whisper for transcription. Read architecture.pdf for a description of the design of the project.
- Note Frontend for master branch is in a multi-page UI for better views. If needed, for single page UI, please use branch "v2_single_page"

- Python: 3.9 - 3.12 (Please use python version 3.12 for best compatibility
- pip: latest version
-
If you're running the application locally (not using Docker), you will need to install FFmpeg manually if your system does not have it installed, for the transcription functionality to work. Run the following command on terminal
-
For macOS:
brew install ffmpeg
- For Linux:
sudo apt update
sudo apt install ffmpeg
The backend is built using FastAPI. Follow these steps to start the backend:
cd backend
python3 -m venv venv
On MacOS/Linux:
source venv/bin/activate
On windows:
venv\Scripts\activate
Make sure you in the root folder and run the following command:
pip install --upgrade pip
pip install --upgrade setuptools
pip install -r requirements.txt
cd ..
uvicorn backend.app.fastapi.main:app
The frontend is built using ReactJS. Follow these steps to start the frontend:
Ensure that you are in the project root directory
cd frontend
npm install
npm start
Follow these steps to run the pytest
tests in this project:
Make sure you have a virtual environment set up and activate it IF YOU HAVE NOT DONE SO. Run the following command in speech/backend:
python3 -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
pip install -r requirements.txt
cd ..
pytest backend/tests/backend_test.py
Ensure you are in the frontend folder "speech/frontend" and run the following command
npm install
Ensure you are in the frontend folder "speech/frontend" and run the following command
npm test -- --watchAll --verbose
Ensure you are in the root directory and run the following command:
docker-compose up --build