mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-06-07 07:55:16 +02:00
1.9 KiB
1.9 KiB
Dograh - Project Overview
Dograh is a voice AI platform for building and deploying conversational AI agents with telephony and WebRTC support.
Project Structure
dograh/
├── api/ # Backend - FastAPI application
├── ui/ # Frontend - Next.js application
├── scripts/ # Helper scripts for local development
├── docs/ # Mintlify documentation
├── pipecat/ # Pipecat framework (git submodule)
├── docker-compose.yaml # Production/OSS deployment
├── docker-compose-local.yaml # Local development services
Tech Stack
- Backend: Python with FastAPI
- Frontend: Next.js 15 with React 19, TypeScript, Tailwind CSS
- Database: PostgreSQL with SQLAlchemy (async)
- Cache/Queue: Redis with ARQ for background tasks
- Storage: MinIO (S3-compatible) for audio files
Local Development
Starting Services
# Start infrastructure services (postgres, redis, minio)
./scripts/start_services_dev.sh
# Stop all services
./scripts/stop_services.sh
On Windows (PowerShell):
.\scripts\start_services_dev.ps1
.\scripts\stop_services.ps1
Environment Configuration
api/.env- Backend environment variables. Source this when running diagnostic scripts or one-off services against the dev DB (e.g.python -m api.services.admin_utils.local_exec).api/.env.test- Test-only environment variables. Source this when running pytest so tests hit the test DB and never the dev/prod credentials inapi/.env.ui/.env- Frontend environment variables
Typical invocation:
# Tests
source venv/bin/activate && set -a && source api/.env.test && set +a && python -m pytest api/tests/...
# Diagnostics / scripts
source venv/bin/activate && set -a && source api/.env && set +a && python -m api.services.admin_utils.local_exec