#ํ”„๋กœ์ ํŠธ ์…‹์—…

์ด ๊ฐ€์ด๋“œ๋Š” ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“  ๋’ค ์‹ค์ œ ์šด์˜ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๊นŒ์ง€ ์…‹์—…ํ•˜๋Š” ์ „์ฒด ํ๋ฆ„์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

#์‚ฌ์ „ ์ค€๋น„

  • Node.js LTS 18 ์ด์ƒ
  • Yarn (yarn.lock ์‚ฌ์šฉ)

#1. ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์ €์žฅ์†Œ ์ƒ์„ฑ

  1. GitHub์—์„œ Use this template๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ณธ์ธ ์ €์žฅ์†Œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. ๋กœ์ปฌ๋กœ ํด๋ก ํ•ฉ๋‹ˆ๋‹ค.

#2. ์˜์กด์„ฑ ์„ค์น˜

yarn install

#3. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

.env.local.example์„ .env.local๋กœ ๋ณต์‚ฌํ•œ ๋’ค ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

NEXT_PUBLIC_SITE_URL=http://localhost:3000
GOOGLE_INDEXING_URL=https://your-domain.com
NEXT_PUBLIC_GOOGLE_SITE_VERIFICATION=YOUR_GOOGLE_SITE_VERIFICATION_CODE

์ฐธ๊ณ :

  • NEXT_PUBLIC_SITE_URL: canonical URL, sitemap, metadata ์ƒ์„ฑ์— ์‚ฌ์šฉ
  • GOOGLE_INDEXING_URL: Google ์ธ๋ฑ์‹ฑ ์Šคํฌ๋ฆฝํŠธ ๋Œ€์ƒ ๋„๋ฉ”์ธ
  • NEXT_PUBLIC_GOOGLE_SITE_VERIFICATION: Search Console ์ธ์ฆ ๋ฉ”ํƒ€ ํƒœ๊ทธ

#4. ์Šคํƒ€ํ„ฐ ์ฝ˜ํ…์ธ  ๋ณต์‚ฌ

cp -r examples/public/* public/

๋ณต์‚ฌ ํ›„ ์•„๋ž˜๋ฅผ ์ˆ˜์ •ํ•˜์„ธ์š”.

  • public/products/[slug]/: ํ”„๋กœ๋•ํŠธ ์„ค์ •, ๋กœ์ผ€์ผ, ์Šคํฌ๋ฆฐ์ƒท, ๋ฒ•์  ๋ฌธ์„œ, ์•„์ด์ฝ˜
  • public/site/: ๊ฐœ๋ฐœ์ž ์†Œ๊ฐœ ๋ฐ ์‚ฌ์ดํŠธ ๊ณตํ†ต ๋ฐ์ดํ„ฐ

#5. ๋กœ์ปฌ ์‹คํ–‰

yarn dev

#6. ๋นŒ๋“œ ๋ฐ ํ”„๋ฆฌ๋ทฐ

yarn build
yarn start

#7. ๋ฐฐํฌ

  • Next.js ๋นŒ๋“œ ๊ฒฐ๊ณผ๋ฌผ์€ ์ •์  ์ถœ๋ ฅ(out/)์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  • Vercel ๋˜๋Š” ์ •์  ํ˜ธ์ŠคํŒ…(Netlify, S3/CloudFront, Cloudflare Pages)์— ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

#8. ๋ฐฐํฌ ํ›„ ํ•ต์‹ฌ ๋ผ์šฐํŠธ ํ™•์ธ

  • /{locale}
  • /{locale}/{product}
  • /{defaultLocale}/{product}/privacy-policy
  • /{defaultLocale}/{product}/terms-of-use
  • /{locale}/blogs

#9. ์„ ํƒ ์‚ฌํ•ญ: MCP ์„ค์ •

  • Pabal Store API MCP: Configure Credentials
  • Pabal Resource MCP: init-project๋กœ ๋กœ์ปฌ ASO/public ๋ฐ์ดํ„ฐ ์ดˆ๊ธฐํ™”

#10. ์—…์ŠคํŠธ๋ฆผ ํ…œํ”Œ๋ฆฟ ๋™๊ธฐํ™”

git remote add upstream https://github.com/quartz-labs-dev/pabal-web.git
git fetch upstream
git merge upstream/main --allow-unrelated-histories
git push origin main