- DB: audit_log 테이블(diff 포함) + subscriptions.admin_note + super_admin role - Edge Functions 4개: admin-users, admin-subscriptions, admin-payments, admin-audit-log - 공유 유틸: admin-auth.ts(권한 검증), audit.ts(감사로그 기록) - Swagger UI: 독립 정적 페이지 + OpenAPI 3.0 spec - CRUD 페이지: 구독 생성/수정/삭제, role 변경, 감사로그 목록/상세 - recharts: feature별 StackedBar + DAU Line + Top Users HorizontalBar - 결제 이력: DB + Payple API 병행 조회 - 권한: super_admin만 위험 작업, admin은 조회 전용 - RLS: admin/super_admin IN 정책 + super_admin 쓰기 정책 - SQL RPC: admin_usage_by_feature, admin_top_users, admin_dau
34 lines
891 B
JSON
34 lines
891 B
JSON
{
|
|
"name": "@d3ro/admin",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"description": "D3RO Voice Admin CRM — SaaS 관리 도구",
|
|
"scripts": {
|
|
"dev": "next dev --port 3001",
|
|
"build": "next build",
|
|
"start": "next start --port 3001",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@d3ro/api-client": "*",
|
|
"@d3ro/core": "*",
|
|
"@d3ro/ui": "*",
|
|
"@emotion/cache": "^11.14.0",
|
|
"@emotion/react": "^11.14.0",
|
|
"@emotion/styled": "^11.14.0",
|
|
"@mui/icons-material": "^7.0.0",
|
|
"@mui/material": "^7.0.0",
|
|
"@mui/material-nextjs": "^7.0.0",
|
|
"@supabase/ssr": "^0.10.0",
|
|
"@supabase/supabase-js": "^2.103.0",
|
|
"next": "^15.0.0",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0",
|
|
"recharts": "^2.15.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.13.0",
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-dom": "^19.0.0"
|
|
}
|
|
}
|