No description
Find a file
Vadym Samoilenko 2ec8393de9
Some checks are pending
CI / Type Check (push) Waiting to run
CI / Lint (push) Waiting to run
CI / Unit Tests (push) Waiting to run
Deploy / Build & Push Image (push) Waiting to run
Deploy / Deploy to VPS (push) Blocked by required conditions
feat(cms): full CMS control — remove hardcoded content, add globals and SEO meta
- New BirthdayPage global: hero, form titles, meta SEO for /dni-narodzhennia
- New TicketsPage global: hero, section titles, meta SEO for /kvytky
- SiteSettings: add tariffCategoryLabels array (key→label mapping for ezy API categories)
- DyvoLisPage + GroupVisitsPage: add metaTitle/metaDescription + revalidate hook
- /kvytky: fetch birthday packages from CMS, groups from CMS, category labels from SiteSettings
- /grupovi-vidviduvannia: remove DEFAULT_GROUPS fallback, CMS-driven meta
- /dni-narodzhennia: connect to BirthdayPage global (hero, form titles, meta)
- /lokatsii/dyvolis: use CMS meta description from DyvoLisPage global
- pnpm override tsx→4.22.0 for Node.js v26 compatibility

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 13:55:28 +01:00
.github/workflows feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
.husky fix: replace npx with pnpm exec in husky hook, clear shamefully-hoist from .npmrc 2026-05-10 21:40:30 +01:00
docs feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
migrations fix: EZY params nullish + DB migration for new collections 2026-05-10 23:08:15 +01:00
public feat(widget): replace Binotel smart-button with styled GetCall widget 2026-05-15 11:12:50 +01:00
scripts fix: TS non-null assertion in seed + formatting cleanup across components 2026-05-11 13:40:23 +01:00
src feat(cms): full CMS control — remove hardcoded content, add globals and SEO meta 2026-05-15 13:55:28 +01:00
tests feat: implement full frontend — all sections, components, Figma Code Connect 2026-05-10 16:40:56 +01:00
.dockerignore feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
.env chore: add .env with project credentials (private repo) 2026-05-09 19:27:37 +01:00
.env.example chore: add env files to repo (private repo) 2026-05-09 19:21:24 +01:00
.gitignore feat(cms): upgrade Payload 3.33→3.84, add SEO plugin, connect hardcoded pages to CMS 2026-05-13 16:36:18 +01:00
.npmrc fix: replace npx with pnpm exec in husky hook, clear shamefully-hoist from .npmrc 2026-05-10 21:40:30 +01:00
.pnpmfile.mjs fix(docker): add .pnpmfile.mjs for pnpm 11 ESM import compatibility 2026-05-13 19:22:00 +01:00
.prettierrc.json feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
docker-compose.prod.yml feat(migrations): remove push:true, run migrations automatically on deploy 2026-05-13 19:11:50 +01:00
docker-compose.yml fix: read POSTGRES_PASSWORD from .env in docker-compose.yml 2026-05-09 20:24:12 +01:00
Dockerfile fix(cms): add SEO plugin components to importMap, remove broken generate:importmap step 2026-05-13 19:51:58 +01:00
Dockerfile.migrator fix(migrator): replace payload migrate with direct psql runner 2026-05-13 20:12:02 +01:00
eslint.config.mjs feat(cms): wire DyvoLis gallery to CMS, fix eslint config 2026-05-13 18:01:45 +01:00
figma.config.json feat: implement full frontend — all sections, components, Figma Code Connect 2026-05-10 16:40:56 +01:00
next-env.d.ts fix: set #f1fbeb background everywhere except hero and footer 2026-05-11 16:33:04 +01:00
next.config.ts feat: blog posts, redesigned sections, video full-width, reviews hover pause 2026-05-11 15:52:08 +01:00
nginx.conf feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
package.json feat(cms): full CMS control — remove hardcoded content, add globals and SEO meta 2026-05-15 13:55:28 +01:00
payload.config.ts feat(cms): full CMS control — remove hardcoded content, add globals and SEO meta 2026-05-15 13:55:28 +01:00
playwright.config.ts feat: implement full frontend — all sections, components, Figma Code Connect 2026-05-10 16:40:56 +01:00
pnpm-lock.yaml feat(cms): full CMS control — remove hardcoded content, add globals and SEO meta 2026-05-15 13:55:28 +01:00
pnpm-workspace.yaml feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
postcss.config.mjs feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
README.md feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
tsconfig.json feat: implement full frontend — all sections, components, Figma Code Connect 2026-05-10 16:40:56 +01:00
tsconfig.payload.json feat(migrations): add Payload migrator infrastructure 2026-05-13 17:45:21 +01:00
vercel.json feat: implement full frontend — all sections, components, Figma Code Connect 2026-05-10 16:40:56 +01:00
vitest.config.ts feat: implement full frontend — all sections, components, Figma Code Connect 2026-05-10 16:40:56 +01:00
vitest.setup.dom.ts feat: implement full frontend — all sections, components, Figma Code Connect 2026-05-10 16:40:56 +01:00
vitest.setup.ts feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00

Shumiland

Website for Shumiland entertainment park — Next.js 15 + Payload CMS 3.0 + PostgreSQL 16.

Quickstart (dev)

# 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 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