profound-logoProfound CMS
тМШK
Admin
Theme
DocsTutorialBlogPhilosophy
DocsTutorialBlogPhilosophy

Tutorials

Build & Ship an Airport DirectoryDeploymentsBuild & Ship a Stripe Storefront

Feature

Documentation Site TemplateFeature Template BuilderTranslation ServiceOrganizations & Website HeirarchyConnect Profound CMS to your AI clientSettings Integrationsрд╕реЗрдЯрд┐рдВрдЧреНрд╕ API рдХреБрдВрдЬрд┐рдпрд╛рдБSettings UsageSettings Websites
All Systems Operational
Powered Byprofound-logo
Theme

Build & Ship an Airport Directory

рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╡реЙрдХрдереНрд░реВ: Profound CMS рдкрд░ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХреГрдд рдПрдпрд░рдкреЛрд░реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдБ тАФ рдПрдХ рдкреИрд░рд╛рдореЗрдЯреНрд░рд┐рдХ рд░реВрдЯ рдЬреЛ рд╣рд░ рдПрдпрд░рдкреЛрд░реНрдЯ рдХрд╛ рдкреЗрдЬ 35 рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд░рддрд╛ рд╣реИред

Profound CMS рдкрд░ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ, рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХреГрдд рдПрдпрд░рдкреЛрд░реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдБ: 35 рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдПрдпрд░рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЗрдЬ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ URL рдкреИрдЯрд░реНрдиред рдЖрдк Next.js рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ CMS рд╕рдВрд░рдЪрдирд╛ рдЦреБрдж рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ; Claude Code (Profound MCP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рддреАрди рдХрд╛рд░реНрдп рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ тАФ рдПрдпрд░рдкреЛрд░реНрдЯ рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░рдирд╛, рдПрдХ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕рд┐рд╕реНрдЯрдо рдЬреЛрдбрд╝рдирд╛, рдФрд░ рдЪрд╛рд░ React рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдмрдирд╛рдирд╛ред рддреАрди рднрд╛рдЧ: рд╕реЗрдЯрдЕрдк, рдмрд┐рд▓реНрдб, рдкреНрд░реЛрдбрдХреНрд╢рдиред

рдкреВрд░рд╛ рд╡реАрдбрд┐рдпреЛ рд╡реЙрдХрдереНрд░реВ рджреЗрдЦреЗрдВред

рдЖрдк рдХреНрдпрд╛ рдмрдирд╛рдПрдБрдЧреЗ

  • ~50 рдПрдпрд░рдкреЛрд░реНрдЯ рд░рд┐рдХреЙрд░реНрдб, рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреЗ рдЕрд▓рдЧ URL рдкрд░ред
  • рдПрдХ рдкреИрд░рд╛рдореЗрдЯреНрд░рд┐рдХ рд░реВрдЯ /{language}/{airport_code}ред
  • рдЪрд╛рд░ UI рдПрд▓реАрдореЗрдВрдЯ тАФ рдиреЗрд╡, рд╣реЗрдбрд▓рд╛рдЗрди, рдмреЙрдбреА, рдлреБрдЯрд░ тАФ рдЬрд┐рдиреНрд╣реЗрдВ cms-renderer рд░реЗрдВрдбрд░ рдХрд░рддрд╛ рд╣реИред
  • CEL рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЗрд╡ CMS рдбреЗрдЯрд╛ред
  • рд╕рднреА 35 рднрд╛рд╖рд╛рдПрдБ, рдПрдХ рд╣реА рдХреНрд▓рд┐рдХ рдореЗрдВ рдЕрдиреВрджрд┐рддред
  • Vercel рдкрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд, рд▓рд╛рдЗрд╡ рдкреНрд░реАрд╡реНрдпреВ рдФрд░ рдЗрди-рдкреНрд▓реЗрд╕ рдПрдбрд┐рдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рдеред

рдкреВрд░реНрд╡рд╛рдкреЗрдХреНрд╖рд╛рдПрдБ

  • Bun тЙе 1.3 тАФ curl -fsSL https://bun.sh/install | bash
  • Claude Code рдЬрд┐рд╕рдореЗрдВ Profound MCP рдЬреБрдбрд╝рд╛ рд╣реЛ (рднрд╛рдЧ 1)ред
  • рдПрдХ Profound CMS рдЦрд╛рддрд╛ред
  • рднрд╛рдЧ 3 рдХреЗ рд▓рд┐рдП: GitHub CLI (gh) рд▓реЙрдЧрд┐рди рдХрд┐рдпрд╛ рд╣реБрдЖ, рдФрд░ GitHub рд╕реЗ рдЬреБрдбрд╝рд╛ Vercel рдЦрд╛рддрд╛ред

рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ

  • рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЖрдХрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рд░реВрдЯ рд╕реНрд▓рдЧ рдлрд╝реАрд▓реНрдб рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЛ рд░реВрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рддрд╛ рд╣реИ; рдПрдХ UI Element рдЯреИрдЧ рдЙрд╕реЗ рдкреЗрдЬ рдкрд░ рдкреНрд▓реЗрд╕ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рддрд╛ рд╣реИ; System рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ (рдЬреИрд╕реЗ language) рдмрд┐рд▓реНрдЯ-рдЗрди рдЖрддреЗ рд╣реИрдВред
  • рд╡реЗрд░рд┐рдПрдВрдЯреНрд╕ рд╣реА рд╕рд╛рдордЧреНрд░реА рд╣реИрдВ (JFK, SFO, LAXтАж )ред
  • UI рдПрд▓реАрдореЗрдВрдЯреНрд╕ рдкреЗрдЬ рд╕реЗрдХреНрд╢рди рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ CEL рд╕реЗ рднрд░рд╛ рдЬрд╛рддрд╛ рд╣реИ тАФ Profound рдХреА рдЗрди-рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ, рдЬреЛ рд░реЗрдВрдбрд░ рдкрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рд╣реЛрддреА рд╣реИред
  • рдПрдХ рдкреИрд░рд╛рдореЗрдЯреНрд░рд┐рдХ рд░реВрдЯ URL рдХреЛ рдПрдХ рд╡реЗрд░рд┐рдПрдВрдЯ рдФрд░ UI рдПрд▓реАрдореЗрдВрдЯреНрд╕ рдХреЗ рд╕реЗрдЯ рд╕реЗ рдореИрдк рдХрд░рддрд╛ рд╣реИред
  • рдЖрдкрдХрд╛ Next.js рдРрдк cms-renderer SDK рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд░реАрдб-рдЯрд┐рдпрд░ API рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рд╕рдм рд░реЗрдВрдбрд░ рдХрд░рддрд╛ рд╣реИред

рднрд╛рдЧ 1 тАФ рд╕реЗрдЯрдЕрдк

рдЕрдВрдд рд╕реНрдерд┐рддрд┐: CMS рдореЗрдВ ~50 рдПрдпрд░рдкреЛрд░реНрдЯ, рдРрдк рдЙрдиреНрд╣реЗрдВ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрдЯреЗрдб, рдФрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд╛рдкрд┐рддред

1. рд╡реЗрдмрд╕рд╛рдЗрдЯ рдмрдирд╛рдПрдБ

Profound (WorkOS рдСрде) рдкрд░ рд╕рд╛рдЗрди рдЕрдк рдХрд░реЗрдВ рдФрд░ airports рдирд╛рдо рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдмрдирд╛рдПрдБред рджреЛ рдЪреАрдЬреЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ: website ID (рдПрдбрдорд┐рди URL рдореЗрдВ UUID) рдФрд░ Deployments тЖТ Create API key рд╕реЗ рдПрдХ рд░реАрдб-рдЯрд┐рдпрд░ API рдХреБрдВрдЬреАред рдРрдк рдХреЗрд╡рд▓ рдкрдврд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд░реАрдб рдХреБрдВрдЬреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

2. рдРрдк рдХреЛ рд╕реНрдХреИрдлреЛрд▓реНрдб рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ

bunx create-profound-next airports
cd airports

рдЕрдкрдиреА рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ .env.local рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

PROFOUND_API_KEY=<your read key>
NEXT_PUBLIC_PROFOUND_WEBSITE_ID=<your website id>
NEXT_PUBLIC_CMS_API_URL=https://cms.dev.tryprofound.com
NEXT_PUBLIC_BUNNY_CDN_URL=https://cms-profound.b-cdn.net

bun dev рдЪрд▓рд╛рдПрдБ рдФрд░ localhost:3000 рдЦреЛрд▓рдХрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рд╣реЛ рд░рд╣рд╛ рд╣реИред

3. airport рдХрдВрдкреЛрдиреЗрдВрдЯ рдмрдирд╛рдПрдБ

рдПрдбрдорд┐рди рдореЗрдВ Components тЖТ Create new component рдкрд░ рдЬрд╛рдПрдБ рдФрд░ рдирд╛рдо рджреЗрдВ airportред рдЫрд╣ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗрдВ: code, name, city, country (Text) рдФрд░ latitude, longitude (Number)ред code рдХреЛ Route Slug рдлрд╝реАрд▓реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рд░реНрдХ рдХрд░реЗрдВ рдФрд░ рд╕реНрдЯреЗрдЯрд╕ Active рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред рд╣рд░ рдлрд╝реАрд▓реНрдб рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЫреЛрдбрд╝реЗрдВ; рдХреЛрдИ UI Element рдЯреИрдЧ рди рдЬреЛрдбрд╝реЗрдВред

airport рдХрдВрдкреЛрдиреЗрдВрдЯ тАФ рдЫрд╣ рдлрд╝реАрд▓реНрдб, рдЬрд┐рдирдореЗрдВ code рдХреЛ Route Slug рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

4. рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЛ рдЯрд╛рдЗрдкреНрд╕ рдореЗрдВ рдЦреАрдВрдЪреЗрдВ

bun run generate-schemas

рдпрд╣ generated/cms-schemas.ts рдореЗрдВ airportSchema (Zod) рдФрд░ Airport (type) рд▓рд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИрдВред

5. MCP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рд╕реАрдб рдХрд░реЗрдВ

MCP рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░реЗрдВ:

claude mcp add --transport http Profound http://107.21.107.99:8081/mcp

рд╕рд░реНрд╡рд░ OAuth (WorkOS) рдкрд░ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рддрд╛ рд╣реИред Claude Code рдореЗрдВ /mcp рдЪрд▓рд╛рдПрдБ, Profound рдЪреБрдиреЗрдВ, рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕рд╛рдЗрди-рдЗрди рдкреВрд░рд╛ рдХрд░реЗрдВ тАФ Profound рдЯреВрд▓ рдкрд╣рд▓реА рдмрд╛рд░ рдХреЙрд▓ рд╣реЛрдиреЗ рдкрд░ Claude Code рдЖрдкрдХреЛ рд╕реНрд╡рдпрдВ рднреА рдкреНрд░реЗрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред /mcp рдореЗрдВ Profound connected рджрд┐рдЦрдиреЗ рдХреЗ рдмрд╛рдж, Claude рдХреЛ рдкреНрд░реЙрдореНрдкреНрдЯ рджреЗрдВ:

рдкрдЪрд╛рд╕ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдпрд░рдкреЛрд░реНрдЯ рдЬрдирд░реЗрдЯ рдХрд░реЗрдВ тАФ рд╕рд╣реА IATA рдХреЛрдб, рдирд╛рдо, рд╢рд╣рд░, рджреЗрд╢, рдФрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХред рдЙрдиреНрд╣реЗрдВ JSON рдореЗрдВ data рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ, рд╣рдорд╛рд░реЗ airport рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ, рдлрд┐рд░ Profound MCP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдмрдирд╛рдПрдБред

airport тЖТ Variants рдЦреЛрд▓реЗрдВ рдФрд░ рд▓рдЧрднрдЧ 50 рдкреНрд░рдХрд╛рд╢рд┐рдд рдПрдпрд░рдкреЛрд░реНрдЯ рджреЗрдЦреЗрдВред рдРрдк API рдХреБрдВрдЬреА рд╕реЗ рдкрдврд╝рддрд╛ рд╣реИ; MCP рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ WorkOS рд╕рддреНрд░ рд▓реЗрдХрд░ рд▓рд┐рдЦрддрд╛ рд╣реИред

рд▓рдЧрднрдЧ 50 рдПрдпрд░рдкреЛрд░реНрдЯ, рдкреНрд░рдХрд╛рд╢рд┐рдд рд╡реЗрд░рд┐рдПрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реАрдб рдХрд┐рдП рдЧрдПред

6. рдПрдХ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕рд┐рд╕реНрдЯрдо рдЬреЛрдбрд╝реЗрдВ

рд╕реНрдХреИрдлреЛрд▓реНрдб рдмрд┐рдирд╛ рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рдЖрддрд╛ рд╣реИред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдкрд░ рдПрдХ DESIGN.md рд░рдЦреЗрдВ (Tailwind v4 рдХрд╛ @theme рдмреНрд▓реЙрдХ рдФрд░ рдЯреЛрдХрди) тАФ рдЕрдкрдирд╛ рдмрдирд╛рдПрдБ, рдпрд╛ refero.design рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рдлрд┐рд░ Claude рдХреЛ рдкреНрд░реЙрдореНрдкреНрдЯ рджреЗрдВ:

DESIGN.md рдкрдврд╝реЗрдВред Tailwind v4 рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдереАрдо рддрдерд╛ рдлреЙрдиреНрдЯреНрд╕ рд╡рд╛рдпрд░ рдХрд░реЗрдВред рдлреЙрдиреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП next/font рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд░рдирдЯрд╛рдЗрдо Google рдЗрдореНрдкреЛрд░реНрдЯ рдирд╣реАрдВред рдХреЗрд╡рд▓ рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧ тАФ рдЕрднреА рдХреЛрдИ рдкреЗрдЬ рдпрд╛ рдХрдВрдкреЛрдиреЗрдВрдЯ рдирд╣реАрдВред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ src/app/globals.css рдореЗрдВ @import "tailwindcss"; рдХреЗ рд╕рд╛рде @theme рдмреНрд▓реЙрдХ рд╣реЛ, рдФрд░ localhost:3000 рдкрд░ рдЯреЛрдХрди рджрд┐рдЦреЗрдВред

рднрд╛рдЧ 2 тАФ рдмрд┐рд▓реНрдб

рд░реЗрдВрдбрд░рд┐рдВрдЧ рд▓реЗрдпрд░ рдмрдирд╛рдПрдБ: UI рдПрд▓реАрдореЗрдВрдЯреНрд╕, React рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕, рд░реВрдЯ, CEL рдмрд╛рдЗрдВрдбрд┐рдВрдЧ, рдФрд░ рдЕрдиреБрд╡рд╛рджред

1. рдЪрд╛рд░ UI рдПрд▓реАрдореЗрдВрдЯ рдХрдВрдкреЛрдиреЗрдВрдЯ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ

рдПрдбрдорд┐рди рдореЗрдВ, рдЪрд╛рд░ рдмрд╛рд░ Create new component рдХрд░реЗрдВ (рдХреЛрдИ Route Slug рдирд╣реАрдВ)ред рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП, рдлрд╝реАрд▓реНрдб Text рд░рдЦреЗрдВ рдЬрдм рддрдХ рдиреЛрдЯ рди рд╣реЛ, рд╕реНрдЯреЗрдЯрд╕ Active рдХрд░реЗрдВ, рдФрд░ Settings тЖТ Tags рдореЗрдВ UI Element рдЯреИрдЧ рдЬреЛрдбрд╝реЗрдВ:

  • nav тЖТ brand
  • headline тЖТ title, subtitle
  • body тЖТ code, city, country, latitude (Number), longitude (Number)
  • footer тЖТ text

body.latitude рдФрд░ body.longitude рдХреЛ Number рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдПрдпрд░рдкреЛрд░реНрдЯ рдХрдВрдкреЛрдиреЗрдВрдЯ рд╕реЗ рдореЗрд▓ рдЦрд╛рдПрдБред

рдкреНрд░рддреНрдпреЗрдХ UI рдПрд▓реАрдореЗрдВрдЯ рдЕрдкрдирд╛ рдЕрд▓рдЧ рдХрдВрдкреЛрдиреЗрдВрдЯ рд╣реИ тАФ рдпрд╣рд╛рдБ body, Active рд╕реЗрдЯ рдФрд░ UI Element рдЯреИрдЧ рдХреЗ рд╕рд╛рдеред

рдЪрд╛рд░реЛрдВ UI рдПрд▓реАрдореЗрдВрдЯ airport рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╕реВрдЪреА рдореЗрдВ рджрд┐рдЦрддреЗ рд╣реИрдВред

2. рдЯрд╛рдЗрдкреНрд╕ рджреЛрдмрд╛рд░рд╛ рдЬрдирд░реЗрдЯ рдХрд░реЗрдВ

bun run generate-schemas

3. React рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдЬрдирд░реЗрдЯ рдХрд░реЗрдВ рдФрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВ

Claude рдХреЛ рдкреНрд░реЙрдореНрдкреНрдЯ рджреЗрдВ:

рдЪрд╛рд░ React рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ тАФ nav, headline, body, footer тАФ components/ рдореЗрдВ рдмрдирд╛рдПрдБред рдкреНрд░рддреНрдпреЗрдХ BlockComponentProps<T> (рдЬрд╣рд╛рдБ T рдЙрд╕ рдПрд▓реАрдореЗрдВрдЯ рдХрд╛ рдЬреЗрдирд░реЗрдЯреЗрдб рдЯрд╛рдЗрдк рд╣реИ) рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХрд▓ content рдкреНрд░реЙрдк рд▓реЗ рдФрд░ рдЙрд╕рдХреЗ рдлрд╝реАрд▓реНрдб content рд╕реЗ рдкрдврд╝реЗред рдЪрд╛рд░реЛрдВ рдХреЛ рдХреИрдЪ-рдСрд▓ рд░реВрдЯ рдХреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдХрдВрдкреЛрдиреЗрдВрдЯ рдирд╛рдо рд╕реЗ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВред рд╣рдорд╛рд░реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рд╕реНрдЯрд╛рдЗрд▓ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрдВрдкреЛрдиреЗрдВрдЯ рд░реВрдк рдореЗрдВ тАФ рд╕реЛрд░реНрд╕ рд╕рд╛рдЗрдЯ рдХрд╛ рд▓реЗрдЖрдЙрдЯ рдХреЙрдкреА рди рдХрд░реЗрдВред Nav: рдмрд╛рдПрдБ рдмреНрд░рд╛рдВрдбред Headline: рдПрдпрд░рдкреЛрд░реНрдЯ рдирд╛рдо, code ┬╖ city, country рд╕рдмрдЯрд╛рдЗрдЯрд▓ рдХреЗ рд╕рд╛рдеред Body: рд╡рд┐рд╡рд░рдг рдкреИрдирд▓ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдб, рд╢рд╣рд░, рджреЗрд╢, рдФрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╣реЛрдВред Footer: рдПрдХ рд╕реНрдерд┐рд░ рдкрдВрдХреНрддрд┐ред рдХреЗрд╡рд▓ рд▓реЗрдЖрдЙрдЯ рдФрд░ рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧред

Claude рдЪрд╛рд░ рдХрдВрдкреЛрдиреЗрдВрдЯ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ src/app/[...slug]/page.tsx рдореЗрдВ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рднрд░рддрд╛ рд╣реИ:

const registry = { nav: Nav, headline: Headline, body: Body, footer: Footer };

рджреЛ рдирд┐рдпрдо: рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдкреЛрдиреЗрдВрдЯ рдЕрдкрдиреЗ рдлрд╝реАрд▓реНрдб content рд╕реЗ рдкрдврд╝реЗ (рдЕрд▓рдЧ рдкреНрд░реЙрдкреНрд╕ рдирд╣реАрдВ), рдФрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреАрдЬрд╝ CMS рдХрдВрдкреЛрдиреЗрдВрдЯ рдирд╛рдо рд╕реЗ рдкреВрд░реА рддрд░рд╣ рдореЗрд▓ рдЦрд╛рдПрдБ тАФ рдорд┐рд╕рдореИрдЪ рд╣реЛрдиреЗ рдкрд░ рдХреБрдЫ рд░реЗрдВрдбрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ред

4. рдкреИрд░рд╛рдореЗрдЯреНрд░рд┐рдХ рд░реВрдЯ рдмрдирд╛рдПрдБ

рдПрдбрдорд┐рди рдореЗрдВ Pages тЖТ Create page рдкрд░ рдЬрд╛рдПрдБ рдФрд░ рдкреИрдЯрд░реНрди /{airport_code} рд╕реЗрдЯ рдХрд░реЗрдВред Dynamic Segment Mappings рдореЗрдВ airport_code тЖТ airport рдХрдВрдкреЛрдиреЗрдВрдЯ, рд╕реНрд▓рдЧ рдлрд╝реАрд▓реНрдб code рдореИрдк рдХрд░реЗрдВред рд╕реЗрд╡ рдХрд░реЗрдВ тАФ рдЖрдк Page Builder рдореЗрдВ рдкрд╣реБрдБрдЪрддреЗ рд╣реИрдВред рдЬрд╛рдБрдЪреЗрдВ рдХрд┐ /JFK рд░рд┐рдЬреЙрд▓реНрд╡ рд╣реЛрддрд╛ рд╣реИред

5. UI рдПрд▓реАрдореЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВ, CEL рд╡рд╛рдпрд░ рдХрд░реЗрдВ, рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ

Custom рдЯреИрдм рд╕реЗ рдкреЗрдЬ рдореЗрдВ UI рдПрд▓реАрдореЗрдВрдЯ рдЬреЛрдбрд╝рдирд╛ред

Page Builder рдореЗрдВ JFK рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкрд░ рдЪрд╛рд░ UI рдПрд▓реАрдореЗрдВрдЯ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред

  1. JFK рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЪреБрдиреЗрдВ тЖТ Add UI Element тЖТ Custom рдЯреИрдм тЖТ рдХреНрд░рдо рд╕реЗ nav, headline, body, footer рдЬреЛрдбрд╝реЗрдВред Profound рдпрд╣ рд╕реЗрдЯ рд╣рд░ рдПрдпрд░рдкреЛрд░реНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдореЗрдВ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

  2. рдкреНрд░рддреНрдпреЗрдХ рдлрд╝реАрд▓реНрдб рднрд░реЗрдВред рд╕реНрдерд┐рд░ рдорд╛рди (nav brand, footer text): рд╕реАрдзреЗ рдЯрд╛рдЗрдк рдХрд░реЗрдВред рдбрд╛рдЗрдиреИрдорд┐рдХ рдорд╛рди: рдбрд╛рдпрдиреЗрдорд┐рдХ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ рдФрд░ CEL рд▓рд┐рдЦреЗрдВред рд╕рд╛рдЭрд╛ рд▓реБрдХрдЕрдк рд╣реИ documents.get("airport", meta.params.airport_code)ред

    рдлрд╝реАрд▓реНрдбCEL рдорд╛рди
    headline.titledocuments.get("airport", meta.params.airport_code).name
    headline.subtitledocuments.get("airport", meta.params.airport_code).code + " ┬╖ " + documents.get("airport", meta.params.airport_code).city + ", " + documents.get("airport", meta.params.airport_code).country
    body.code / body.city / body.countrydocuments.get("airport", meta.params.airport_code).<field>
    body.latitude / body.longitudedocuments.get("airport", meta.params.airport_code).latitude (рдФрд░ .longitude)
    nav.brand, footer.textрд╕реНрдерд┐рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕
  3. рдкреЗрдЬ рдХреЛ Publish рдХрд░реЗрдВ (рдКрдкрд░реА-рджрд╛рдПрдБ)ред

6. рдЕрдВрдЧреНрд░реЗрдЬрд╝реА рдореЗрдВ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ

localhost:3000/JFK рдЦреЛрд▓реЗрдВ, рдлрд┐рд░ /SFO, /LAX тАФ рдПрдХ рд╣реА рдЯреЗрдореНрдкрд▓реЗрдЯ, рдЕрд▓рдЧ рдПрдпрд░рдкреЛрд░реНрдЯред

рддреИрдпрд╛рд░ рдкреЗрдЬ JFK рдХрд╛ рдбреЗрдЯрд╛ рдЕрдВрдЧреНрд░реЗрдЬрд╝реА рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд░рддрд╛ рд╣реБрдЖред

7. рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рдХрд░реЗрдВ

  1. рдкрд╣рд▓реЗ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдВред рдПрдбрдорд┐рди рдореЗрдВ рдХреЛрдИ рднреА рдХрдВрдкреЛрдиреЗрдВрдЯ рдЦреЛрд▓реЗрдВ (UI рдПрд▓реАрдореЗрдВрдЯ рд╣реЛрдирд╛ рдЬрд╝рд░реВрд░реА рдирд╣реАрдВ) рдФрд░ Translate тЖТ Submit рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред Profound рдЙрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ рд╕рд╛рде рд╕рднреА 35 рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╕реНрдерд┐рд░ рдлрд╝реАрд▓реНрдб рдорд╛рди рд╕рд╣рд┐рддред рдпрд╣ рд░реВрдЯ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдпрд╛ рдХрд┐рд╕реА CEL рдХреЛ рдЫреВрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд░реЗрдВред

    Translate тЖТ Submit рдПрдХ рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЛ рдПрдХ рд╕рд╛рде рд╕рднреА 35 рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рднреЗрдЬрддрд╛ рд╣реИред

  2. рднрд╛рд╖рд╛ рдбрд╛рдЗрдореЗрдВрд╢рди рдЬреЛрдбрд╝реЗрдВред Pages рдореЗрдВ рдкреИрдЯрд░реНрди /{language}/{airport_code} рдкрд░ рдмрджрд▓реЗрдВред language рдХреЗ рд▓рд┐рдП Dynamic Segment Mapping рдЬреЛрдбрд╝реЗрдВ тЖТ рдмрд┐рд▓реНрдЯ-рдЗрди language System рдХрдВрдкреЛрдиреЗрдВрдЯ, рд╕реНрд▓рдЧ рдлрд╝реАрд▓реНрдб codeред рд╕реЗрд╡ рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдБрдЪреЗрдВ рдХрд┐ /en/JFK рд░рд┐рдЬреЙрд▓реНрд╡ рд╣реЛрддрд╛ рд╣реИред

    рд░реВрдЯ рдореЗрдВ {language} рд╕реЗрдЧрдореЗрдВрдЯ рдЬреЛрдбрд╝рдирд╛ред

  3. рд╣рд░ рдЕрдиреБрд╡рд╛рдж-рдпреЛрдЧреНрдп рдлрд╝реАрд▓реНрдб рдХреЛ рдЕрдиреВрджрд┐рдд рдлрд╝реЗрдЪ рдкрд░ рдкреЙрдЗрдВрдЯ рдХрд░реЗрдВред рдкреЗрдЬ рдХреЛ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рд╣рд░ рднрд╛рд╖рд╛-рдирд┐рд░реНрднрд░ рдлрд╝реАрд▓реНрдб тАФ рд╕рд┐рд░реНрдлрд╝ рд╣реЗрдбрд▓рд╛рдЗрди рдирд╣реАрдВ тАФ рдХреЛ documents.get(...) рд╕реЗ рдмрджрд▓рдХрд░ documents.translated("airport", meta.params.airport_code, meta.params.language) рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛:

    рдлрд╝реАрд▓реНрдбрдЕрдиреВрджрд┐рдд CEL
    headline.titledocuments.translated("airport", meta.params.airport_code, meta.params.language).name
    headline.subtitledocuments.get("airport", meta.params.airport_code).code + " ┬╖ " + documents.translated("airport", meta.params.airport_code, meta.params.language).city + ", " + documents.translated("airport", meta.params.airport_code, meta.params.language).country
    body.city / body.countrydocuments.translated("airport", meta.params.airport_code, meta.params.language).city (рдФрд░ .country)

    IATA code рдФрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ documents.get рдкрд░ рд╣реА рдЫреЛрдбрд╝реЗрдВ тАФ рд╡реЗ рд╣рд░ рднрд╛рд╖рд╛ рдореЗрдВ рд╕рдорд╛рди рд╣реИрдВред nav.brand рдФрд░ footer.text рдкрд╣рд▓реЗ рд╣реА рдЪрд░рдг 1 рдореЗрдВ рдХрдВрдкреЛрдиреЗрдВрдЯ рдЕрдиреБрд╡рд╛рдж рд╕реЗ рдХрд╡рд░ рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВред

рдЬрдм рдпреЗ рддреАрдиреЛрдВ рдкреВрд░реЗ рд╣реЛ рдЬрд╛рдПрдБ, /fr/SFO, /de/SFO рдЖрджрд┐ рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдЕрдиреВрджрд┐рдд рд░рд┐рдЬреЙрд▓реНрд╡ рд╣реЛрддреЗ рд╣реИрдВред

рднрд╛рдЧ 3 тАФ рдкреНрд░реЛрдбрдХреНрд╢рди

1. рдкрд░рд┐рдирд┐рдпреЛрдЬрди: GitHub, рдлрд┐рд░ Vercel

GitHub рдкрд░ рдкреБрд╢ рдХрд░реЗрдВ:

git init
git add -A
git commit -m "Airport directory"
gh repo create airports --public --source=. --push

Vercel рдореЗрдВ рдЖрдпрд╛рдд рдХрд░реЗрдВ: Add New тЖТ Project тЖТ airports рд░рд┐рдкреЛ рдЖрдпрд╛рдд рдХрд░реЗрдВред рдПрдиреНрд╡рд╛рдпрд░рдореЗрдВрдЯ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдЬреЛрдбрд╝реЗрдВ тАФ PROFOUND_API_KEY, NEXT_PUBLIC_PROFOUND_WEBSITE_ID, NEXT_PUBLIC_CMS_API_URL, рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ NEXT_PUBLIC_BUNNY_CDN_URL тАФ рдлрд┐рд░ Deploy рдХрд░реЗрдВред /en/JFK рдФрд░ /fr/SFO рджреЗрдЦреЗрдВред рд╣рд░ рднрд╡рд┐рд╖реНрдп рдХрд╛ git push рдкреБрдирдГ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд░рддрд╛ рд╣реИред

2. рд▓рд╛рдЗрд╡ рдкреНрд░реАрд╡реНрдпреВ рдФрд░ рдЗрди-рдкреНрд▓реЗрд╕ рдПрдбрд┐рдЯрд┐рдВрдЧ

рджреЛрдиреЛрдВ рд╕реНрдХреИрдлреЛрд▓реНрдб рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВред

  • рд▓рд╛рдЗрд╡ рдкреНрд░реАрд╡реНрдпреВ: layout.tsx рдореЗрдВ <Refresher> рдЙрд╕ рдкреЗрдЬ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдПрдбрдорд┐рди рдореЗрдВ рдПрдбрд┐рдЯ рдХрд░рдХреЗ рд╕реЗрд╡ рдХрд░рддреЗ рд╕рдордп рдкреНрд░реАрд╡реНрдпреВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ тАФ рдкреБрдирдГ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВред
  • рдЗрди-рдкреНрд▓реЗрд╕ рдПрдбрд┐рдЯрд┐рдВрдЧ: рдХрд┐рд╕реА рднреА URL рдкрд░ ?edit_mode=true рдЬреЛрдбрд╝реЗрдВ (рдЬреИрд╕реЗ тАж/en/JFK?edit_mode=true) рддрд╛рдХрд┐ рдПрдбрд┐рдЯ рдУрд╡рд░рд▓реЗ рджрд┐рдЦрд╛рдИ рджреЗрдВред рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд┐рдЬрд╝рд┐рдЯрд░ рд╕рд╛рдл рдкреЗрдЬ рд╣реА рджреЗрдЦрддреЗ рд╣реИрдВред

?edit_mode=true рд▓рд╛рдЗрд╡ рдкреЗрдЬ рдкрд░ рдПрдбрд┐рдЯрд░ рдУрд╡рд░рд▓реЗ рд▓рдЧрд╛рддрд╛ рд╣реИред

рдмрд╕ рдЗрддрдирд╛ рд╣реА рдмрд┐рд▓реНрдб рд╣реИ

рдкрдЪрд╛рд╕ рдПрдпрд░рдкреЛрд░реНрдЯ, 35 рднрд╛рд╖рд╛рдПрдБ, рд▓рд╛рдЗрд╡ тАФ рдПрдХ рдмрд╛рд░ рд╡рд░реНрдгрд┐рдд рдФрд░ рдбреЗрдЯрд╛ рд╕реЗ рднрд░рд╛ рд╣реБрдЖ: рдПрдХ рд░реВрдЯ, рдЪрд╛рд░ React рдХрдВрдкреЛрдиреЗрдВрдЯ, рдФрд░ рдХреБрдЫ CEL рдмрд╛рдЗрдВрдбрд┐рдВрдЧред CMS рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ, рдЖрдкрдХрд╛ рдХреЛрдб рдЙрд╕реЗ рд░реЗрдВрдбрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ CEL рджреЛрдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

Continue Reading
NextDeploymentsтА║