Semih c7346fd25e feat(home): founder daily overview
Replaces the previous "active spokes / planned / audit24h / audit7d" home
with a synthesizing daily-overview page. Pulls from every module shipped
to date (VIN observability, user management, BIP, audit log, Coolify
deploys) and answers a single question: "what should I look at today?"

Repo (lib/sase/daily-overview.ts)
- getSaseHealthSnapshot — 24h vs prior-24h success rate + volume; single
  raw query with FILTER aggs on the two windows.
- getInsightSummary — open insights grouped by severity (P0..P3), plus
  recent-7d created and 7d-shipped counts (from panel-pg insights).
- getSaseUserCounts — total/new/active-sub/trial/cancelled, suspended,
  banned, dormant payers (14d), empty-handed payers. Two correlated
  subqueries for dormant/empty since they need NOT EXISTS over
  query_logs.
- getRecentAdminActions — last N audit_log mutations (excluding GET and
  /api/internal/*). Maps each endpoint to a human label
  ("Impersonate", "Refund", …) and a deep-link target where possible.
- getRecentDeployStatuses — last N Sase Coolify deploys with
  regression-flag derived from the ±30min slice analyzer.
- buildActionItems — synthesizes "things you should look at" from all
  the above, sorted critical → low. Surfaces deploy regressions, open
  P0/P1 insights, big 24h success drop, dormant/empty payers,
  suspended users.

UI (app/page.tsx)
- Six-column KPI strip across the top: Sase 24h success (color-coded
  by threshold, with pp delta vs prior 24h), volume delta, active sub,
  new users 7d, open insight total, audit count.
- "Bugün bakmam gerekenler" action-item list, color-coded by severity,
  each clickable.
- Two-column split: open-insights-by-priority (links to /insights with
  the severity filter), Sase user health counts (dormant/empty/
  suspended/banned with links).
- Two-column split: last 5 deploys with Δ-success column + regression
  badge, last 10 admin actions with human label + status + deep link.
- Projects grid moved to the bottom as a compact strip (was the
  primary section before).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 14:04:36 +03:00
2026-05-18 14:04:36 +03:00
2026-05-13 09:30:27 +00:00

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
Süper Panel - internal admin panel (sp.semih.ai)
Readme 4.1 MiB
Languages
TypeScript 99.2%
CSS 0.4%
Shell 0.2%
Dockerfile 0.2%