0b31685e95b6f410502150ea4827f9e3e0c25834
Adım 1 — User listesi sayfası - Extend Sase RO Prisma schema: Plan, Brand, UserBrand, BankAccount, Payment, QueryLog - listUsers() + listPlans() repo with filter/sort/page in apps/web/src/lib/sase/users.ts - /projects/sase/users — TanStack-free server-rendered table with URL-param filters (plan multi-select, status, activity preset, search) + pager - Sase landing "Users →" link Adım 2 — User detay 360° - /projects/sase/users/[id] — header (masked email + audit-logged reveal button) + 5 tabs: Özet · Subscription & Billing · Kullanım · Aktivite · Audit - Usage stats: 30d/90d/lifetime queries, success rate, avg response, daily sparkline, brand/source distribution, top VINs - Timeline: merged signup + subscriptions + payments + recent queries - User-scoped audit trail (AuditLog endpoint LIKE filter) - POST /api/sase/users/[id]/reveal-email — audit-logged full email reveal teknikborc.md — Phase 7 PRD vs Sase.tr şeması gap'leri kaydedildi (EFT yok, B2B yok, API keys/webhooks yok, vb.) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Süper Panel
Internal admin panel — sp.semih.ai — Tailscale-only access.
Phase 0 skeleton: Next.js 16 + Better Auth (email/password + TOTP) + Prisma + Postgres + Redis. Deployed on Coolify, fronted by Traefik with Let's Encrypt (Cloudflare DNS-01).
See super-panel-prd.md for the full PRD.
Local dev
pnpm install
cp .env.example .env
# fill DATABASE_URL_PANEL, BETTER_AUTH_SECRET (32+ chars)
pnpm --filter @panel/web prisma:generate
pnpm dev
Production deploy
Pushes to main trigger Coolify deploy via webhook.
Deploy status
First production deploy: 2026-05-13. Live at https://sp.semih.ai (Tailscale only).
Description
Languages
TypeScript
99.2%
CSS
0.4%
Shell
0.2%
Dockerfile
0.2%