Skip to content
View RentAPet's full-sized avatar
  • Joined Feb 3, 2026

Block or report RentAPet

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
rentapet/README.md

RentAPet.fun - Virtual Pet Rental Marketplace

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.

Features

  • 🐾 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

Tech Stack

  • 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

Getting Started

  1. Install dependencies:
npm install
  1. 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
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 in your browser.

How to test everything

  • 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).

Database Setup

Run the SQL migrations in supabase/migrations/ to set up your database schema.

Project Structure

β”œβ”€β”€ app/              # Next.js app directory
β”œβ”€β”€ components/       # React components
β”œβ”€β”€ lib/             # Utilities and configurations
β”œβ”€β”€ types/           # TypeScript types
β”œβ”€β”€ supabase/        # Database migrations
└── public/          # Static assets

Features Implemented

Core Features

  • βœ… 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

AI Integration

  • /api/ai/search-pets - Search available pets
  • /api/ai/book-session - Book sessions programmatically
  • API key authentication system

Payment Flow

  1. User selects pet and duration
  2. Creates booking with pending status
  3. Stripe Payment Intent created
  4. User completes payment
  5. Webhook confirms payment
  6. Booking status updated to confirmed
  7. Video room available at scheduled time

Project Structure

β”œβ”€β”€ 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

Environment Variables

See .env.example for all required environment variables.

Database Schema

The database includes:

  • profiles - User profiles with roles
  • pets - Pet listings
  • bookings - Booking records
  • reviews - Reviews and ratings
  • api_keys - API keys for AI agents

All tables have Row Level Security (RLS) enabled for data protection.

API Documentation

For AI Agents

Search Pets

GET /api/ai/search-pets?species=dog&limit=10
Headers: x-api-key: your_api_key

Book 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"
}

Development

# Install dependencies
npm install

# Run development server
npm run dev

# Build for production
npm run build

# Start production server
npm start

Deployment

See SETUP.md for detailed deployment instructions.

License

MIT

Popular repositories Loading

  1. rentapet rentapet Public

    TypeScript