ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
Stop building backends for simple contact forms ๐Ÿ›‘
Dev.toDev.to
Backend

Backend Boilerplate ์ œ๊ฑฐ๋ฅผ ์œ„ํ•œ Serverless API ๊ธฐ๋ฐ˜ Form-to-Email Pass-through ์„ค๊ณ„

Stop building backends for simple contact forms ๐Ÿ›‘

Umair Ashraf2026๋…„ 6์›” 26์ผ1๋ถ„beginner

Context

์ •์  ์‚ฌ์ดํŠธ์˜ ์—ฐ๋ฝ์ฒ˜ ํผ ๊ตฌํ˜„์„ ์œ„ํ•ด Node.js๋‚˜ PHP ์„œ๋ฒ„๋ฅผ ๋ณ„๋„๋กœ ๊ตฌ์ถ•ํ•ด์•ผ ํ•˜๋Š” ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ๋ฐœ์ƒ. ๋‹จ์ˆœ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ชฉ์ ์˜ ๋ฐฑ์—”๋“œ ๊ตฌ์ถ•์œผ๋กœ ์ธํ•œ ๋ฆฌ์†Œ์Šค ๋‚ญ๋น„ ๋ฐ ๊ด€๋ฆฌ ํฌ์ธํŠธ ์ฆ๊ฐ€๋ผ๋Š” ํ•œ๊ณ„์  ์กด์žฌ.

Technical Solution

  • Serverless API ๊ตฌ์กฐ ์ฑ„ํƒ์„ ํ†ตํ•œ ์ธํ”„๋ผ ๊ด€๋ฆฌ ๋น„์šฉ ์ œ๋กœํ™”
  • ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ ์—†์ด ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋ฉ”์ผ๋กœ ์ฆ‰์‹œ ์ „์†กํ•˜๋Š” Strict Pass-through ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„
  • API Key ๊ธฐ๋ฐ˜ ์ธ์ฆ ์ฒด๊ณ„๋ฅผ ํ†ตํ•œ ์ ‘๊ทผ ์ œ์–ด ๋ฐ ๋ณด์•ˆ ํ™•๋ณด
  • ํŠน์ • ๋„๋ฉ”์ธ์—๋งŒ ํ‚ค๋ฅผ ํ• ๋‹นํ•˜๋Š” Domain Locking์œผ๋กœ ๋ฌด๋‹จ API ํ˜ธ์ถœ ๋ฐ Spam ๋ฐฉ์ง€
  • JSON ๋ฐ HTML ํ‘œ์ค€ ๊ทœ๊ฒฉ ์ง€์›์„ ํ†ตํ•œ Framework Agnostic ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„

1. ๋‹จ์ˆœ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ชฉ์ ์˜ API๋Š” DB ์ €์žฅ ์—†์ด Pass-through ๊ตฌ์กฐ๋กœ ์„ค๊ณ„ํ•˜์—ฌ ๋ณด์•ˆ ๋ฆฌ์Šคํฌ ์ตœ์†Œํ™”

2. API Key์™€ Domain Restriction์„ ๊ฒฐํ•ฉํ•œ ์ ‘๊ทผ ์ œ์–ด ๋ ˆ์ด์–ด ๊ฒ€ํ† 

3. ์ •์  ์‚ฌ์ดํŠธ์˜ ๊ธฐ๋Šฅ ํ™•์žฅ์„ ์œ„ํ•œ Serverless API ๋„์ž…์œผ๋กœ ์ธํ”„๋ผ ๋ณต์žก๋„ ์ œ๊ฑฐ

์›๋ฌธ ์ฝ๊ธฐ