A modern Payload CMS starter template featuring visual page editing, hierarchical content management, and enhanced authentication. Built and maintained by Delmare Digital.
This template serves as a working demonstration of the @delmaredigital plugin ecosystem for Payload CMS.
Visual page builder powered by Puck. Create pages with a drag-and-drop interface instead of traditional block-based editing.
- Visual WYSIWYG page editing
- Pre-built components (Section, Flex, Grid, Heading, Text, Button, etc.)
- Multiple page layouts (Default, Full Width, Landing)
- Live preview in editor
- Server-side rendering support
Hierarchical content organization with automatic slug generation.
- Visual tree view for content hierarchy
- Folder-based URL structure
- Auto-generated slugs from path segments
- Works with Pages and Posts collections
Enhanced authentication using Better Auth.
- Email/password authentication
- Passkey/WebAuthn support
- Two-factor authentication (TOTP)
- API key management
- Role-based access control
- Framework: Next.js 16 (App Router)
- CMS: Payload CMS 3
- Database: PostgreSQL (via Vercel Postgres/Neon)
- Styling: Tailwind CSS v4
- Storage: Vercel Blob Storage
- Node.js 20+
- pnpm
- PostgreSQL database
- Clone the repository
- Copy environment variables:
cp .env.example .env.local
- Configure your environment variables (see below)
- Install dependencies:
pnpm install
- Start the development server:
The database schema is automatically synced in development mode (push mode).
pnpm dev
Required:
POSTGRES_URL- PostgreSQL connection stringPAYLOAD_SECRET- Secret for JWT signing (min 32 chars)BETTER_AUTH_SECRET- Secret for Better Auth (min 32 chars)
Optional:
BLOB_READ_WRITE_TOKEN- Vercel Blob storage tokenPUCK_API_KEY- For Puck AI page generation (from puckeditor.com)
src/
├── app/(frontend)/ # Next.js frontend routes
├── app/(payload)/ # Payload admin routes
├── collections/ # Payload collections (Posts, Media, Users)
├── components/ # React components
├── lib/
│ ├── auth/ # Better Auth configuration
│ └── puck/ # Puck layouts and options
├── puck/ # Puck editor configuration
└── plugins/ # Payload plugin configuration
- Navigate to
/admin/page-tree - Click "New Page" to create a page
- Use the Puck visual editor to build your page layout
- Publish when ready
The Page Tree view (/admin/page-tree) provides a visual interface for organizing your content. Drag pages to reorder or nest them within folders.
Users are managed through Payload's admin panel with Better Auth handling the authentication flow. Roles (user, admin) control access to the admin panel and content.
# Start dev server
pnpm dev
# Type check
pnpm check
# Build for production
pnpm build
# Run production build
pnpm startThis template is ready to deploy to Vercel:
- Push your repository to GitHub
- Import the project in Vercel
- Configure environment variables in Vercel dashboard
- Important: Override the build command to
pnpm run ci
The ci script runs migrations before building, which is required for production deployments.
The project uses push mode in development, which automatically syncs schema changes.
For production, migrations are created once and included in the repository. If you make schema changes:
# Create a new migration
pnpm payload migrate:createMIT
Built by Delmare Digital