Prerequisites

  • Node.js 20+
  • MongoDB 7+
  • Docker & Docker Compose (optional)
  • FFmpeg (for audio processing)

Quick Start with Docker

The fastest way to get started is using Docker Compose:
# Clone the repository
git clone https://github.com/botychat/boty.git
cd boty

# Copy environment files
cp packages/intervo-backend/.env.example packages/intervo-backend/.env
cp packages/intervo-frontend/.env.example packages/intervo-frontend/.env.local

# Start all services
docker-compose up -d

# View logs
docker-compose logs -f
Access the application:

Manual Setup

Install Dependencies

# Install all workspace dependencies
npm install --legacy-peer-deps

Configure Environment

  • Backend
  • Frontend
Create packages/intervo-backend/.env:
# Database
MONGO_URI=mongodb://localhost:27017/boty

# Authentication
JWT_SECRET=your-secret-key
SESSION_SECRET=your-session-secret

# AI Services (at least one required)
OPENAI_API_KEY=sk-...
GROQ_API_KEY=gsk_...

# Frontend URL
FRONTEND_URL=http://localhost:3000

Start Development Servers

# Terminal 1: Backend
npm run dev --workspace=intervo-backend

# Terminal 2: Frontend
npm run dev --workspace=intervo-frontend

# Terminal 3: Widget (optional)
npm run dev --workspace=intervo-widget

Project Structure

boty/
├── packages/
│   ├── intervo-backend/     # Express.js API server
│   │   ├── models/          # Mongoose schemas
│   │   ├── routes/          # API endpoints
│   │   ├── services/        # Business logic
│   │   └── rag_py/          # Python RAG API
│   ├── intervo-frontend/    # Next.js dashboard
│   │   ├── src/app/         # App Router pages
│   │   ├── src/components/  # React components
│   │   └── src/context/     # React contexts
│   └── intervo-widget/      # Embeddable widget
├── docker-compose.yml
└── package.json

Common Commands

CommandDescription
npm run dev --workspace=intervo-backendStart backend dev server
npm run dev --workspace=intervo-frontendStart frontend dev server
npm run build --workspace=intervo-frontendBuild frontend for production
npm run build --workspace=intervo-widgetBuild widget (UMD + ES)
docker-compose up -dStart all services
docker-compose logs -fView logs