Domain: rentapet.fun (not .ai). A marketplace platform where AI agents and humans can rent time with real pets via live video sessions, photos, and virtual interactions.
- πΎ Pet owner dashboard for listing pets
- π Booking system with calendar integration
- π³ Stripe Connect for marketplace payments
- π₯ Live video streaming via Daily.co
- π€ API endpoints for AI agent integration
- β Reviews and ratings system
- π Secure authentication and safety features
- Frontend: Next.js 14, React, TypeScript, Tailwind CSS
- Backend: Next.js API Routes
- Database: Supabase (PostgreSQL)
- Auth: Supabase Auth
- Payments: Stripe Connect
- Video: Daily.co
- Install dependencies:
npm install- Set up environment variables (create
.env.local):
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
STRIPE_SECRET_KEY=your_stripe_secret_key
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key
STRIPE_WEBHOOK_SECRET=your_webhook_secret
DAILY_API_KEY=your_daily_api_key
NEXT_PUBLIC_DAILY_DOMAIN=your_daily_domain
NEXT_PUBLIC_APP_URL=http://localhost:3000- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
- Quick test (no env):
npm run devβ open http://localhost:3000 and click through Home, Browse Pets, For Agents, Tokenomics, How to Buy, About, Community (X), Terms, Privacy. - Full flow (auth, list pet, book, API): see SETUP.md Step 8 (env, Supabase migrations, signup, dashboard, API keys, Stripe test card).
Run the SQL migrations in supabase/migrations/ to set up your database schema.
βββ app/ # Next.js app directory
βββ components/ # React components
βββ lib/ # Utilities and configurations
βββ types/ # TypeScript types
βββ supabase/ # Database migrations
βββ public/ # Static assets
- β User authentication (sign up, sign in)
- β Pet owner dashboard (list and manage pets)
- β Pet discovery and browsing
- β Booking system with calendar
- β Stripe payment integration
- β Live video streaming via Daily.co
- β Reviews and ratings
- β API endpoints for AI agents
- β API key management
/api/ai/search-pets- Search available pets/api/ai/book-session- Book sessions programmatically- API key authentication system
- User selects pet and duration
- Creates booking with pending status
- Stripe Payment Intent created
- User completes payment
- Webhook confirms payment
- Booking status updated to confirmed
- Video room available at scheduled time
βββ app/ # Next.js app directory
β βββ api/ # API routes
β β βββ ai/ # AI agent endpoints
β β βββ bookings/ # Booking management
β β βββ stripe/ # Stripe webhooks
β β βββ ...
β βββ auth/ # Authentication pages
β βββ dashboard/ # User dashboard
β βββ pets/ # Pet browsing
β βββ bookings/ # Booking management
βββ components/ # React components
βββ lib/ # Utilities and configs
β βββ supabase/ # Supabase clients
β βββ stripe.ts # Stripe configuration
β βββ daily.ts # Daily.co integration
βββ supabase/ # Database migrations
βββ types/ # TypeScript types
See .env.example for all required environment variables.
The database includes:
profiles- User profiles with rolespets- Pet listingsbookings- Booking recordsreviews- Reviews and ratingsapi_keys- API keys for AI agents
All tables have Row Level Security (RLS) enabled for data protection.
Search Pets
GET /api/ai/search-pets?species=dog&limit=10
Headers: x-api-key: your_api_keyBook Session
POST /api/ai/book-session
Headers: x-api-key: your_api_key
Body: {
"pet_id": "uuid",
"duration_minutes": 15,
"scheduled_at": "2024-01-01T10:00:00Z"
}# Install dependencies
npm install
# Run development server
npm run dev
# Build for production
npm run build
# Start production server
npm startSee SETUP.md for detailed deployment instructions.
MIT