Files
flatrender/README.md
T
Soroush.Asadi 36e264f3e3 feat: admin API integration, LogoMark, settings page, i18n, RTL font, docs
- Wire admin API into homepage + templates page (ISR 60s, null fallback)
- Add src/lib/admin-api.ts with safeFetch helper
- Add adminProjectToTemplateItem + adminProjectToCatalogTemplate mappers
- Add LogoMark SVG component, replace Sparkles icon in Navbar/Footer/Sidebar
- Add public/favicon.svg (SVG brand mark)
- Rewrite opengraph-image.tsx with FlatRender branding
- Add RTL/Persian font cascade: unlayered [dir=rtl] block forces Vazirmatn
- Dashboard Settings page: Profile, Security, Billing, Notifications sections
- Add src/lib/supabase/client.ts browser client
- Admin API: GET /me, PATCH /profile, POST /change-password endpoints
- Admin API DTOs: AdminUserDto, UpdateProfileRequest, ChangePasswordRequest
- Admin UI Settings page with TanStack Query + mutations
- Add CLAUDE.md + README.md to both repos for new-machine onboarding
- Update PROJECT_MEMORY.md with session log
- Add appsettings.Development.json.example template
2026-05-27 09:06:51 +03:30

61 lines
2.0 KiB
Markdown

# 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.