Files
Robert Perez 8d742518f8 feat: Full petmaster CRM with NestJS API and React frontend
- Client management (CRUD with JSONB custom fields)
- Pet profiles
- Service catalog with per-client pricing
- Booking calendar with recurring appointments
- Invoicing with Stripe integration
- Real-time messaging (WebSocket)
- Self-booking portal
- Staff assignment
- Docker multi-stage builds
- Prisma schema + seed
2026-07-11 00:17:49 +00:00

1.3 KiB

Petmaster CRM - Docker Compose Setup

Quick Start

Start all services: docker compose up --build

Or detached mode: docker compose up -d --build

Services will be available at:

Configuration

Copy and configure environment: cp .env.example .env cp api/.env.example api/.env

Edit .env with your settings: STRIPE_SECRET_KEY=sk_live_your_key_here JWT_SECRET=your_secure_secret

Stop Services

Remove containers: docker compose down

Remove containers and volumes: docker compose down -v

Database

Run migrations manually: docker compose exec api npx prisma migrate dev --name init

Seed the database: docker compose exec api npx prisma db seed

Development

The API has hot-reload enabled via volume mount (./api/src:/app/src). Changes to TypeScript files will automatically restart the NestJS server.

The frontend uses react-scripts for development with hot reload.

Production

For production deployment:

  1. Set production environment variables
  2. Use multi-stage Docker builds (already configured)
  3. Consider adding:
    • Reverse proxy (nginx/traefik)
    • SSL certificates (Let's Encrypt)
    • Redis for WebSocket scaling
    • SMTP for email notifications
    • Stripe webhook endpoint