This is the API for the Gospel Note AI mobile application. It is built with FastAPI and provides functionality for sermon transcription, summarization, Bible reference extraction, and storage. The API also manages user authentication, sermon retrieval, and synchronization between the mobile app and the server.
- User registration and authentication with JWT tokens
- Audio file upload and transcription
- Sermon summarization and automatic Bible reference extraction
- Save, update, and delete sermons in the database
- Retrieve sermons for the authenticated user
- Secure routes using token-based authentication
- PostgreSQL database with SQLAlchemy ORM
- Backend Framework: FastAPI
- Database: PostgreSQL
- ORM: SQLAlchemy
- Authentication: JWT
- Audio Transcription: OpenAI Whisper
- Summarization & Reference Extraction: OpenAI GPT model
- Storage: PostgreSQL Database & Local storage
- Environment Management: Python-dotenv
- Clone the repository
git clone https://github.com/greatdaveo/SermonNote.git
cd server
- Create and activate virtual environment
python -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windows
- Install dependencies
pip install -r requirements.txt
- Set up environment variables
Create a .env file in your directory with:
DATABASE_URL=database_url
JWT_SECRET_KEY=your_secret_key
JWT_ALGORITHM=HS256
OPENAI_API_KEY=your_openai_key
- Run the server
uvicorn main:app --reload
- API Documentation Once running, access:
- Swagger UI: http://127.0.0.1:8000/docs
- ReDoc: http://127.0.0.1:8000/redoc