elimgweb

๐ŸŽ‰ ์—˜๋ฆผG์„ ๊ตํšŒ ํ’€์Šคํƒ ํ”Œ๋žซํผ ์™„์„ฑ!

๐Ÿ“Š ๊ตฌํ˜„ ์™„๋ฃŒ ์‚ฌํ•ญ ์ด์ •๋ฆฌ

โœ… 1. ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ (Node.js + Express)

RESTful API ์„œ๋ฒ„

๋ณด์•ˆ ๊ฐ•ํ™”


โœ… 2. ๋‹ค๊ตญ์–ด ์ง€์› (i18n)

์™„์ „ ์ง€์› ์–ธ์–ด

๋ฒˆ์—ญ ์‹œ์Šคํ…œ


โœ… 3. ์˜จ๋ผ์ธ ํ›„์› ์‹œ์Šคํ…œ

PG ์—ฐ๋™

ํ›„์› ๊ด€๋ฆฌ


โœ… 4. ๊ด€๋ฆฌ์ž ๋Œ€์‹œ๋ณด๋“œ

์ธ์ฆ ์‹œ์Šคํ…œ

๊ด€๋ฆฌ ๊ธฐ๋Šฅ


โœ… 5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„

8๊ฐœ ์ฃผ์š” ํ…Œ์ด๋ธ”

  1. visitors - ๋ฐฉ๋ฌธ์ž ์ถ”์ 
  2. newsletter_subscribers - ๋‰ด์Šค๋ ˆํ„ฐ ๊ตฌ๋…์ž
  3. donations - ํ›„์› ๋‚ด์—ญ
  4. news - ๋‰ด์Šค ๊ธฐ์‚ฌ (๋‹ค๊ตญ์–ด)
  5. comments - ๋Œ“๊ธ€ ์‹œ์Šคํ…œ
  6. admin_users - ๊ด€๋ฆฌ์ž ๊ณ„์ •
  7. partners - ํ˜‘๋ ฅ ํŒŒํŠธ๋„ˆ
  8. gallery - ๊ฐค๋Ÿฌ๋ฆฌ ์ด๋ฏธ์ง€
  9. settings - ์‚ฌ์ดํŠธ ์„ค์ •

โœ… 6. API ์—”๋“œํฌ์ธํŠธ (23๊ฐœ)

๊ณต๊ฐœ API (12๊ฐœ)

GET  /health                    ํ—ฌ์Šค ์ฒดํฌ
GET  /api/visitors              ๋ฐฉ๋ฌธ์ž ํ†ต๊ณ„
POST /api/newsletter            ๋‰ด์Šค๋ ˆํ„ฐ ๊ตฌ๋…
POST /api/donation              ํ›„์›ํ•˜๊ธฐ
GET  /api/donation/progress     ํ›„์› ์ง„ํ–‰๋ฅ 
GET  /api/news                  ๋‰ด์Šค ๋ชฉ๋ก
GET  /api/news/:id              ๋‰ด์Šค ์ƒ์„ธ
POST /api/comments              ๋Œ“๊ธ€ ์ž‘์„ฑ
GET  /api/search                ๊ฒ€์ƒ‰
GET  /api/i18n/:lang            ๋ฒˆ์—ญ ๋กœ๋“œ
GET  /api/gallery               ๊ฐค๋Ÿฌ๋ฆฌ
GET  /api/partners              ํŒŒํŠธ๋„ˆ ๋ชฉ๋ก

๊ด€๋ฆฌ์ž API (11๊ฐœ)

POST /api/admin/login                   ๋กœ๊ทธ์ธ
GET  /api/admin/dashboard               ๋Œ€์‹œ๋ณด๋“œ
GET  /api/admin/news                    ๋‰ด์Šค ๋ชฉ๋ก
POST /api/admin/news                    ๋‰ด์Šค ์ž‘์„ฑ
PUT  /api/admin/news/:id                ๋‰ด์Šค ์ˆ˜์ •
DELETE /api/admin/news/:id              ๋‰ด์Šค ์‚ญ์ œ
GET  /api/admin/comments                ๋Œ“๊ธ€ ๋ชฉ๋ก
PUT  /api/admin/comments/:id/approve    ๋Œ“๊ธ€ ์Šน์ธ
DELETE /api/admin/comments/:id          ๋Œ“๊ธ€ ์‚ญ์ œ
GET  /api/admin/donations               ํ›„์› ๋ชฉ๋ก
PUT  /api/admin/donations/:id/status    ํ›„์› ์ƒํƒœ ๋ณ€๊ฒฝ
GET  /api/admin/settings                ์„ค์ • ์กฐํšŒ
PUT  /api/admin/settings                ์„ค์ • ๋ณ€๊ฒฝ

โœ… 7. ๋‰ด์Šค & ์ปจํ…์ธ  ๊ด€๋ฆฌ

๋‹ค๊ตญ์–ด ๋‰ด์Šค

์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ


โœ… 8. ๋Œ“๊ธ€ ์‹œ์Šคํ…œ

๊ธฐ๋Šฅ

๊ด€๋ฆฌ


โœ… 9. ์ด๋ฉ”์ผ ํ†ตํ•ฉ

์ž๋™ ๋ฐœ์†ก

์„ค์ •


โœ… 10. ๊ฐค๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ

์ด๋ฏธ์ง€ ๊ด€๋ฆฌ

ํ‘œ์‹œ


โœ… 11. ๊ธ€๋กœ์ปฌ ๋น„์ฆˆ๋‹ˆ์Šค ํ™•์žฅ์„ฑ

BAM (Business As Mission) ์‹œ์Šคํ…œ

๋‹ค๊ตญ์–ด ์ง€์›


๐Ÿš€ ์‹คํ–‰ ๋ฐฉ๋ฒ•

1. ์„ค์น˜

git clone https://github.com/JinJun-han/elimgweb.git
cd elimgweb
npm install

2. ํ™˜๊ฒฝ ์„ค์ •

cp .env.example .env
# .env ํŒŒ์ผ ํŽธ์ง‘

3. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ดˆ๊ธฐํ™”

npm run init

4. ์„œ๋ฒ„ ์‹คํ–‰

npm run dev

5. ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—ด๊ธฐ

http://localhost:3000

๐Ÿ” ๊ด€๋ฆฌ์ž ๊ณ„์ •

๊ธฐ๋ณธ ๊ณ„์ •

โš ๏ธ ๋ณด์•ˆ: ์ฒซ ๋กœ๊ทธ์ธ ํ›„ ๋ฐ˜๋“œ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•˜์„ธ์š”!


๐Ÿ“ก API ํ…Œ์ŠคํŠธ

Health Check

curl http://localhost:3000/health

๋‰ด์Šค ๋ชฉ๋ก (ํ•œ๊ตญ์–ด)

curl "http://localhost:3000/api/news?language=ko&limit=5"

๋‰ด์Šค ๋ชฉ๋ก (๋ฒ ํŠธ๋‚จ์–ด)

curl "http://localhost:3000/api/news?language=vi&limit=5"

๋ฐฉ๋ฌธ์ž ํ†ต๊ณ„

curl http://localhost:3000/api/visitors

ํ›„์› ์ง„ํ–‰๋ฅ 

curl http://localhost:3000/api/donation/progress

๋‰ด์Šค๋ ˆํ„ฐ ๊ตฌ๋…

curl -X POST http://localhost:3000/api/newsletter \
  -H "Content-Type: application/json" \
  -d '{"email":"test@example.com","language":"ko"}'

๊ด€๋ฆฌ์ž ๋กœ๊ทธ์ธ

curl -X POST http://localhost:3000/api/admin/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"change-this-password"}'

๐ŸŒ ๋ผ์ด๋ธŒ ์„œ๋ฒ„

ํ˜„์žฌ ์‹คํ–‰ ์ค‘

URL: https://3000-ikfnvt0ididz4vgesiz23-5c13a017.sandbox.novita.ai

API ํ…Œ์ŠคํŠธ


๐Ÿ“Š ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ˜„ํ™ฉ

์ดˆ๊ธฐํ™” ์™„๋ฃŒ

์ƒ˜ํ”Œ ๋‰ด์Šค

  1. ๊ฑฐ์ œ ์ฐธ๋น›ํž๋ง์„ผํ„ฐ ๊ฐœ์†Œ์‹
    • ํ•œํ™”์˜ค์…˜ ์™ธ๊ตญ์ธ ๊ทผ๋กœ์ž 1,800๋ช… ์ข…ํ•ฉ ์ง€์›
    • ์นดํ…Œ๊ณ ๋ฆฌ: ํ˜„์žฅ
  2. ๋ฒ ํŠธ๋‚จ์–ด ํ•œ๊ตญ์–ด ๊ต์œก ํ”Œ๋žซํผ ์˜คํ”ˆ
    • 700๊ฐœ ๋‹จ์–ด, 20๋‹จ๊ณ„ ์ฒด๊ณ„ํ™” ํ•™์Šต
    • ์นดํ…Œ๊ณ ๋ฆฌ: ๊ต์œก

๐ŸŽฏ ๋‹ค์Œ ๋‹จ๊ณ„ (ํ–ฅํ›„ ๊ฐœ๋ฐœ ๊ณ„ํš)

ํ”„๋ก ํŠธ์—”๋“œ ํ˜„๋Œ€ํ™”

์‹ค์‹œ๊ฐ„ ๊ธฐ๋Šฅ

๋ชจ๋ฐ”์ผ ์•ฑ

๊ณ ๊ธ‰ ๊ธฐ๋Šฅ

๋น„์ฆˆ๋‹ˆ์Šค ํ™•์žฅ


๐Ÿ“ฆ ๊ธฐ์ˆ  ์Šคํƒ ์š”์•ฝ

๋ฐฑ์—”๋“œ

ํ”„๋ก ํŠธ์—”๋“œ

๋ณด์•ˆ & ์„ฑ๋Šฅ


๐Ÿ“ˆ ์„ฑ๊ณผ ์ง€ํ‘œ

๊ฐœ๋ฐœ ์™„๋ฃŒ

์ฝ”๋“œ ํ’ˆ์งˆ


๐ŸŽŠ ๊ฒฐ๋ก 

์—˜๋ฆผG์„ ๊ตํšŒ ์›น์‚ฌ์ดํŠธ๊ฐ€ ๋‹จ์ˆœ ์ •์  ์‚ฌ์ดํŠธ์—์„œ ํ’€์Šคํƒ ๊ธ€๋กœ์ปฌ ์„ ๊ต ํ”Œ๋žซํผ์œผ๋กœ ์™„์ „ํžˆ ๋ณ€๋ชจํ–ˆ์Šต๋‹ˆ๋‹ค!

์ฃผ์š” ์„ฑ๊ณผ

  1. โœ… ๋ฐฑ์—”๋“œ API ์„œ๋ฒ„ ๊ตฌ์ถ•
  2. โœ… ๋‹ค๊ตญ์–ด ์ง€์› (3๊ฐœ๊ตญ)
  3. โœ… ์˜จ๋ผ์ธ ํ›„์› ์‹œ์Šคํ…œ
  4. โœ… ๊ด€๋ฆฌ์ž ๋Œ€์‹œ๋ณด๋“œ
  5. โœ… ๋‰ด์Šค/๋Œ“๊ธ€ ์‹œ์Šคํ…œ
  6. โœ… ์ด๋ฉ”์ผ ํ†ตํ•ฉ
  7. โœ… ์ด๋ฏธ์ง€ ์ตœ์ ํ™”
  8. โœ… BAM ๋น„์ฆˆ๋‹ˆ์Šค ๋„คํŠธ์›Œํฌ

๊ธ€๋กœ์ปฌ ์„ ๊ต์˜ ์ƒˆ๋กœ์šด ํŒจ๋Ÿฌ๋‹ค์ž„


๊ฐœ๋ฐœ ์™„๋ฃŒ์ผ: 2026๋…„ 2์›” 8์ผ
GitHub: https://github.com/JinJun-han/elimgweb
Live Demo: https://3000-ikfnvt0ididz4vgesiz23-5c13a017.sandbox.novita.ai

Made with โค๏ธ & โ˜• by AI Assistant for Elim G Mission