# FlatRender

AI-powered video and image creation platform. Create professional videos and images with templates, a drag-and-drop studio, and one-click export.

## Products

- **Video Maker** — timeline editor, Konva canvas, scene browser, transitions, audio, nexrender export
- **Image Editor** — Konva canvas, filters, crop, background removal, layer system
- **Video Trimmer** — ffmpeg.wasm in-browser trim + crop + export
- **Templates** — browsable marketplace with category sidebar

## Quick Start

```bash
npm install
cp .env.example .env.local   # fill in your credentials
npm run dev                  # http://localhost:3000
```

## Related Repos

| Repo | Path | Purpose |
|---|---|---|
| flatrender | `D:\Projects\flatrender` | This repo — Next.js app |
| flatrender-admin | `D:\Projects\flatrender-admin\admin-api` | .NET 10 Admin API |
| flatrender-admin | `D:\Projects\flatrender-admin\admin-ui` | React Admin SPA |

## Stack

- **Next.js 15** App Router · TypeScript · Tailwind CSS · shadcn/ui
- **Supabase** — auth, database, storage
- **Stripe** — subscription payments
- **React-Konva** — canvas editor (video + image)
- **next-intl** — Persian (default) + English i18n
- **ffmpeg.wasm** — browser-side video trimming
- **nexrender** — server-side After Effects rendering

## Environment Variables

See `.env.example` for the full list. Minimum required to run:

```env
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
```

Without Supabase the app runs in mock mode (studio uses localStorage).

## Database Migrations

Run in order in Supabase SQL Editor:
1. `supabase/migrations/001_profiles.sql`
2. `supabase/migrations/002_render_jobs.sql`
3. `supabase/migrations/003_projects.sql`

## Admin Panel

The admin panel at `D:\Projects\flatrender-admin` manages templates, categories, and media. When `ADMIN_API_URL=http://localhost:5000` is set, the Next.js app fetches live data from it. Without it, hardcoded fallback data is used.

See `CLAUDE.md` for full development guide.
