Website for Portside Pottery: a Next.js 16 frontend with Payload CMS 3 (headless) backed by Postgres.
- Next.js 16 (App Router)
- Payload CMS 3.85 (collections: Users, Classes; globals: SiteSettings, HomePage, MembershipPage)
- PostgreSQL (via
@payloadcms/db-postgres) - pnpm 11 / Node 24
docker compose -f docker-compose.dev.yml up -dCreate the test database once (for integration tests):
psql -U postgres -c "CREATE DATABASE portside_test;"cp .env.example .env
# Edit .env — set DATABASE_URI, PAYLOAD_SECRET, etc.pnpm install
pnpm dev # Next.js dev server at http://localhost:3000
# Payload admin at http://localhost:3000/adminpnpm seedpnpm test:int # Vitest integration tests (uses portside_test DB)
pnpm test:e2e # Playwright end-to-end tests (Playwright launches its own dev server)pnpm build
pnpm startBooking/payments (Plan 2), membership portal (Plan 3), and gift-card/loyalty features (Plan 4) are future phases. Design decisions and implementation plans are under docs/superpowers/.