pgx
AI 에이전트를 위한 경량 Postgres, Rust로 구현, 하나의 런타임에서 수천 개의 격리된 데이터베이스 제공
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기COPA Tool - Web Dashboard
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Comprehensive Outdoor Playspace Audit (COPA) Tool (Frontend)
Enterprise-grade frontend for the Comprehensive Outdoor Playspace Audit (COPA) Tool.
This app is part of a hierarchical Audit Management System (Account → Projects → Places → Audits) and is designed to integrate with a FastAPI backend.
• Framework: Next.js 16 (App Router) + TypeScript
• Styling: Tailwind CSS
• UI: shadcn/ui
• Data: TanStack Query (React Query) + Axios
• Forms: React Hook Form + Zod
• Icons: Lucide ReactREADME 전문 보기 ↗Enterprise-grade frontend for the Comprehensive Outdoor Playspace Audit (COPA) Tool.
This app is part of a hierarchical Audit Management System (Account → Projects → Places → Audits) and is designed to integrate with a FastAPI backend.
| Manager Dashboard | Auditor Dashboard | Administrator Dashboard |
|---|---|---|
| Manager Projects | Manager Places |
| Manager Place | Manager Project |
| Manager Audits | Manager Auditor |
| Manager Assignment | Manager Settings |
| Auditor Execute Page | Auditor Places Page |
| Auditor Reports Page | Auditor Report |
| Auditor Settings |
| Administrator Accounts | Administrator Projects |
| Administrator Places | Administrator Audits |
| Administrator Auditor | Administrator System |
| Administrator Settings |
place_audit_status, and place_survey_status statuses.PV / U pairs instead of a collapsed combined score.auditor_code (no real names displayed)./manager routes.Install dependencies:
pnpm install
Run the dev server:
pnpm dev
Open the app at [http://localhost:3000](http://localhost:3000).
Other useful commands:
pnpm lint
pnpm build
pnpm start
Visual regression coverage lives in tests/visual/ and uses Playwright for navigation/state setup plus Percy for visual review and diffing.
public/screenshots/ remains the home for curated README/docs assets.docs/visual-testing.md.Configure the FastAPI base URL in .env.local:
NEXT_PUBLIC_API_BASE_URL="http://127.0.0.1:8000"
If not set, the frontend defaults to http://127.0.0.1:8000.
Analytics is optional and controlled by two variables. Both tools only load in production builds — never in local dev or previews.
NEXT_PUBLIC_CLARITY_PROJECT_ID="your-clarity-project-id" # Microsoft Clarity (heatmaps + session replay)
NEXT_PUBLIC_GA_MEASUREMENT_ID="G-XXXXXXXXXX" # Google Analytics 4 (gtag.js)
When a variable is unset, that tool never loads.
Region-aware consent. The app determines the visitor's region on the server from the edge geo header (x-vercel-ip-country, EEA/UK/CH treated as consent-required):
denied (cookieless pings only) until the visitor accepts.The consent region set lives in src/lib/analytics/regions.ts. When no geo header is present, the app defaults to the stricter consent-required behavior.
This repo currently uses a frontend-only demo login that sets cookies in the browser to simulate an authenticated session.
src/lib/auth/role.ts):
playspace_role: "manager" or "auditor"playspace_access_token: bearer token (demo-generated for now)playspace_auditor_code: auditor-only identifierThe route guard is implemented in proxy.ts using those cookies:
/manager/** requires playspace_role="manager"/auditor/** requires playspace_role="auditor"/settings requires authentication (either role)/login/manager/dashboard/manager/projects/auditor/dashboard/auditor/execute/[placeId]/settingsProtected routes render inside a responsive AppShell with a sidebar (desktop) and a sheet drawer (mobile):
src/app/(protected)/layout.tsxsrc/components/app/app-shell.tsxThe navigation items are derived from the active role and rendered dynamically.
Axios client lives at src/lib/api/api-client.ts:
Authorization: Bearer <token> from playspace_access_token401, clears auth cookies and redirects to /loginThe audit execution UI is in:
src/app/(protected)/auditor/execute/[placeId]/page.tsx (server wrapper)src/app/(protected)/auditor/execute/[placeId]/audit-form.tsx (client form)Auto-save behavior:
PATCH (900ms) with a partial payload to:
PATCH /playspace/places/:placeId/audits/draftaudit, survey, or bothplace_audit_statusplace_survey_statusaudit_mean_scoressurvey_mean_scoresoverall_scoresPV {x} | U {y}Scoped conventions for this repo (keep .cursor/rules/ and .claude/rules/ in sync):
frontend-dashboard-core.mdc - role guards, shared dashboard components, API contract, UI copyfrontend-i18n-and-exports.mdc - messages/en.json + de.json, report views, PDF/Excel exportsSee CLAUDE.md and .claude/README.md. Workspace routing: ../.claude/AGENT_ROUTING.md → web-dashboard-ui.
src/app/(public) - unauthenticated pagessrc/app/(protected) - authenticated shell + role-specific routessrc/lib/auth - role/session cookie helpers (server + browser)src/lib/api - Axios client + interceptorssrc/components/app - application shell components