No description
Find a file
Vadym Samoilenko c707a70065
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(migrations): remove push:true, run migrations automatically on deploy
- Remove push:true from postgres adapter (unreliable for new columns)
- Remove profile:tools from migrate service so it runs on every deploy
- Add restart:no to migrate service (one-shot runner)
- App now depends on migrate with service_completed_successfully condition:
  postgres healthy → migrate applies pending → app starts

Workflow for future schema changes:
  1. Add field to collection/global TypeScript
  2. ssh server: docker-compose run --rm migrate migrate:create --name <field>
  3. git pull the generated .ts migration file
  4. commit + push → next deploy applies it automatically

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 19:11:50 +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(video): add video reviews to DyvoLis + homepage, fix importMap & ISR 2026-05-13 18:53:23 +01:00
scripts fix: TS non-null assertion in seed + formatting cleanup across components 2026-05-11 13:40:23 +01:00
src feat(video): add video reviews to DyvoLis + homepage, fix importMap & ISR 2026-05-13 18:53:23 +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
.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 feat(video): add video reviews to DyvoLis + homepage, fix importMap & ISR 2026-05-13 18:53:23 +01:00
Dockerfile.migrator fix(migrator): node:22 + NODE_OPTIONS tsx/esm for ESM bare specifier resolution 2026-05-13 18:20:33 +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): add email-resend adapter, add defaultValues to checkout/thank-you globals 2026-05-13 18:23:25 +01:00
payload.config.ts feat(migrations): remove push:true, run migrations automatically on deploy 2026-05-13 19:11:50 +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): add email-resend adapter, add defaultValues to checkout/thank-you globals 2026-05-13 18:23:25 +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