# SermonBridge
A Next.js App Router platform for live church translation widgets and secondary recorded sermon translation tools.
The project has two surfaces:
- Live church translation widgets that churches can paste into existing websites, WordPress pages, YouTube Live companion pages, and mobile app WebViews.
- A secondary recorded sermon upload, transcript, subtitle, voice-over, and translated-video workflow.
OpenAI is optional for manual operation. When OpenAI is unavailable, SermonBridge keeps uploads, subtitles, voice-over artifacts, translated video generation, live widget previews, and manual live updates working.
## Tech Stack
- Next.js App Router
- TypeScript
- Tailwind CSS
- Prisma ORM
- SQLite for local development
- Hostinger MySQL recommended for production
- FFmpeg audio/video processing with `ffmpeg-static` and `fluent-ffmpeg`
- Optional OpenAI text-to-speech and translation when `OPENAI_API_KEY` is configured
## Local SQLite Setup
Install dependencies:
```powershell
npm.cmd install
```
Create local environment files from the example:
```powershell
Copy-Item .env.example .env
Copy-Item .env.local.example .env.local
```
Local `.env` example:
```env
DATABASE_URL="file:./dev.db"
ADMIN_EMAIL=admin@sermonbridge.local
ADMIN_PASSWORD=Admin123!
NEXT_PUBLIC_SITE_URL=
localhost
OPENAI_API_KEY=
```
Generate Prisma Client:
```powershell
npx prisma generate
```
Create or update the local SQLite database:
```powershell
npx prisma migrate dev --name init
```
If Prisma migrate is unavailable on your machine, apply the SQL in `prisma/migrations/20260614000000_init/migration.sql` to `prisma/dev.db`, then run the seed command below.
Seed the database:
```powershell
npx prisma db seed
```
The seed creates:
- Christ Embassy Lagos
- RCCG Abuja
- Winners Chapel Port Harcourt
- One admin user from `ADMIN_EMAIL` and `ADMIN_PASSWORD`
## Admin Login
Local fallback credentials:
```text
Email: admin@sermonbridge.local
Password: Admin123!
``` …