Central admin platform — many domains behind one hub
An 8-step course for building an operator hub with Next.js 16 and multiple PostgreSQL pools. AdminResourceTable, audit log, OAuth, backups.
- Difficulty
- intermediate
- Lessons
- 8
Central admin platform — many domains behind one hub
Teams running several domains (blog, marketplace, app, external SaaS) often build a separate admin UI per domain. Quick in the short term, but within months operators re-learn the UI per page and developers re-copy the same boilerplate. This course walks through an eight-step hub where one Next.js app directly connects to multiple PostgreSQL pools (domain DBs) and handles CRUD · audit logs · backups · OAuth.
Who it's for
- Developers who want to unify side-projects into one admin hub
- People using React 19 + Next.js App Router at realistic scale
- Anyone looking to pick up audit logs · OAuth · backup automation in one place
What you can do afterwards
- Orchestrate several PostgreSQL pools from one app
- Implement CRUD pages in 30–70 lines each with a shared
AdminResourceTable - Apply the
logAdminActionfire-and-forget audit pattern - Run Kakao / Naver OAuth with an email allow-list
- Automate
pg_dumpbackups with cron and 7-day rolling retention - Run one-second smoke specs over dozens of pages with Playwright manifests
Flow
[1] Why ──▶ [2] Setup ──▶ [3] Multi-pool ──▶ [4] Shared table
│
▼
[8] E2E manifest ◀── [7] Backup ◀── [6] Audit log ◀── [5] OAuth + allow-list
The first half (1–4) lays the foundation — why pool admin UIs and how to wire them up. The second half (5–8) makes it operable — permissions, traceability, durability.
Steps
- Why a central hub — the cost of N admin UIs, benefits of unifying
- Project setup — Next 16 + TypeScript strict + shadcn/ui + Tailwind 4
- Multiple PostgreSQL pools — env conventions · singleton pools · query helpers
- AdminResourceTable SSOT — shared table component · iconColor map · URL-first pagination
- OAuth providers + allow-list — Kakao · Naver · JWT cookie sessions
- Audit log (logAdminAction) —
audit_logstable · enforced reason · per-domain viewer - Backup automation —
pg_dump+node-cron+ 30-table allow-list - E2E manifest + deploy — auto-generated Playwright manifest + Docker standalone
Prerequisites — getting-started + Node 20 / PostgreSQL 15 / Docker. nextjs-fullstack for App Router basics.
Lessons
Other courses
All courses →- Getting Started with a Dev Environment
- From HTML/CSS/JS to React, Next.js, Tailwind
- Build Your First Fullstack App with Next.js 16
- Backend with Spring Boot 4
- Python · FastAPI · Data Pipelines
- AI-native developer tooling — Claude Code · MCP · design tools
- Docker · Caddy · Cloud — 10 deploy options
- Local LLM · pgvector · building a RAG chatbot
- Tauri 2 — desktop · mobile in one codebase
- Testing strategy and quality gates
- Web security foundations — JWT · OAuth · OWASP
- PostgreSQL in depth + Redis · Kafka
- Building public-data crawlers
- Monorepo · SSOT · layer separation thinking