# Shumiland Website for Shumiland entertainment park — Next.js 15 + Payload CMS 3.0 + PostgreSQL 16. ## Quickstart (dev) ```bash # 1. Install dependencies pnpm install # 2. Copy env and fill in values cp .env.example .env # 3. Start database docker compose up postgres -d # 4. Run dev server pnpm dev ``` Open [http://localhost:3000/admin](http://localhost:3000/admin) to access the CMS admin. On first run, Payload will prompt you to create an admin user. ## Commands | Command | Description | | ---------------- | --------------------------------- | | `pnpm dev` | Start dev server with hot reload | | `pnpm build` | Production build | | `pnpm start` | Start production server | | `pnpm lint` | ESLint check | | `pnpm typecheck` | TypeScript check | | `pnpm test` | Run tests | | `pnpm format` | Prettier format | | `pnpm seed` | Seed initial admin user + globals | ## Project structure ``` src/ ├── app/api/ # API routes (leads, tickets, binotel, health, revalidate) ├── collections/ # Payload CMS collections (Pages, Blog, Tariffs, Leads, Orders, ...) ├── globals/ # Payload globals (Header, Footer, HomePage, SiteSettings, ...) ├── blocks/ # Page Builder blocks (Hero, Gallery, LeadForm, PricingBlock, ...) ├── lib/ # Integrations (ezy, binotel, telegram, resend, rateLimit, ...) └── access/ # Access control helpers tests/ ├── unit/ # Unit tests (lib functions) └── api/ # API route tests docs/ ├── admin-guide-ua.md # CMS guide for marketers (Ukrainian) └── deploy.md # VPS deployment instructions ``` ## Docs - [Admin guide (UA)](docs/admin-guide-ua.md) — for marketers, no technical knowledge required - [Deploy guide](docs/deploy.md) — VPS setup, secrets, CI/CD, backup/restore