No description
Find a file
Vadym Samoilenko 9b41fa447a
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: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy
- B1: Next.js 15 + Payload CMS 3.0 + Postgres 16, ESLint, Prettier, Husky, Vitest
- B2: 9 collections, 6 globals, 12 Page Builder blocks, access control, slugify/revalidate hooks
- B3: ezy.com.ua payments, Binotel HMAC webhook, leads API, Telegram bot, Resend email, rate limiting
- B4: Tariffs collection with ezy API sync (cron + manual), dynamic pricing source-of-truth
- B5: 13 test files covering unit libs and all API routes
- B6: Dockerfile multi-stage, docker-compose.prod.yml, nginx.conf SSL, GitHub Actions CI/CD, health endpoint
- B7: docs/admin-guide-ua.md (marketer guide), docs/deploy.md (VPS instructions), README quickstart

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09 19:14:54 +01:00
.github/workflows feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
.husky feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
docs feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
migrations feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
src feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
tests feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
.dockerignore feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
.gitignore feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
.npmrc feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +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: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
docker-compose.yml feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
Dockerfile feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
eslint.config.mjs feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
next.config.ts feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +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: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
payload.config.ts feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
pnpm-lock.yaml feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +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: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +01:00
vitest.config.ts feat: complete backend B1-B7 — Payload CMS, ezy payments, leads, deploy 2026-05-09 19:14:54 +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