A multi-tenant SaaS platform that enables businesses to deploy and configure AI-powered receptionists that communicate with customers primarily through WhatsApp.
- 🤖 AI-powered conversational receptionist using OpenAI
- 💬 WhatsApp Business Platform integration
- 📅 Google Calendar integration for appointments
- 📚 RAG-based knowledge retrieval with pgvector
- 🔐 Secure multi-tenant architecture with complete data isolation
- 📊 Business dashboard for monitoring and management
- 🔄 LangGraph-based AI workflow orchestration
The platform follows a three-tier architecture:
- Frontend: Next.js 14 (App Router) with TypeScript and Tailwind CSS
- Backend: Python FastAPI with async support
- Database: PostgreSQL 15+ with pgvector extension
ai-receptionist-platform/
├── apps/
│ ├── web/ # Next.js Business Dashboard
│ └── api/ # FastAPI Backend
├── infra/ # Docker and deployment configs
├── packages/ # Shared packages (optional)
├── docs/ # Documentation
└── docker-compose.yml # Local development environment
- Node.js 20+
- Python 3.11+
- Docker and Docker Compose
- PostgreSQL 15+ (or use Docker)
- OpenAI API key
- WhatsApp Business Account (for production)
- Google Cloud Project with Calendar API enabled (for production)
git clone <repository-url>
cd ai-receptionist-platformBackend:
cp apps/api/.env.example apps/api/.env
# Edit apps/api/.env with your configurationFrontend:
cp apps/web/.env.example apps/web/.env
# Edit apps/web/.env with your configurationdocker-compose up -dThis will start:
- PostgreSQL with pgvector (port 5432)
- FastAPI backend (port 8000)
- Next.js frontend (port 3000)
cd apps/api
# Install Poetry (if not already installed)
curl -sSL https://install.python-poetry.org | python3 -
# Install dependencies
poetry install
# Run database migrations
poetry run alembic upgrade head
# Start the server
poetry run uvicorn app.main:app --reloadcd apps/web
# Install dependencies
npm install
# Start development server
npm run devcd apps/api
# Run tests
poetry run pytest
# Format code
poetry run black .
poetry run ruff check --fix .
# Type checking
poetry run mypy appcd apps/web
# Run linter
npm run lint
# Format code
npm run format
# Build for production
npm run buildInstall pre-commit hooks to ensure code quality:
# Install pre-commit
pip install pre-commit
# Install git hooks
pre-commit install
# Run manually
pre-commit run --all-filesOnce the backend is running, visit:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
cd apps/api
# Create a new migration
poetry run alembic revision --autogenerate -m "Description"
# Apply migrations
poetry run alembic upgrade head
# Rollback
poetry run alembic downgrade -1# Backend tests
cd apps/api
poetry run pytest
# Frontend tests
cd apps/web
npm testSee docs/deployment-guide.md for production deployment instructions.
Key variables:
DATABASE_URL: PostgreSQL connection stringSECRET_KEY: JWT secret keyOPENAI_API_KEY: OpenAI API keyWHATSAPP_API_KEY: WhatsApp Business Platform credentialsGOOGLE_CLIENT_ID: Google OAuth credentials
See apps/api/.env.example for full list.
Key variables:
NEXT_PUBLIC_API_URL: Backend API URLNEXTAUTH_SECRET: NextAuth.js secret
See apps/web/.env.example for full list.
- Create a feature branch
- Make your changes
- Run tests and linting
- Submit a pull request
[Add your license here]
For support, please contact [your-contact-info].