🎉 완성된 웹사이트를 지금 바로 확인하세요!
라이브 데모: 여기를 클릭
처음 사용하시나요? 아래 가이드를 확인하세요:
| 가이드 | 설명 | 소요 시간 |
|---|---|---|
| ⚡ QUICK_REFERENCE.md | 가장 자주 수정하는 내용만 모음 | 2분 |
| 📝 HOW_TO_EDIT.md | 웹사이트 수정 완벽 가이드 | 10분 |
| 💡 EDITING_EXAMPLES.md | 실전 수정 예시 모음 (5/10/30분) | 15분 |
| 🚀 QUICK_START.md | elimg.com 실제 배포 (3가지 방법) | 30분 |
| 📄 DEPLOYMENT_GUIDE.md | 상세 배포 가이드 | 1시간 |
| 🎬 VIDEO_TUTORIAL_SCRIPT.md | 비디오 튜토리얼 스크립트 | - |
| 📋 FINAL_SUMMARY.md | 전체 프로젝트 요약 | 5분 |
| ✨ FULLSTACK_COMPLETE.md | 풀스택 기능 상세 설명 | 10분 |
엘림G선교회 웹사이트는 단순한 정보 제공을 넘어 실제 작동하는 풀스택 선교 플랫폼입니다.
# 1. 저장소 클론
git clone https://github.com/JinJun-han/elimgweb.git
cd elimgweb
# 2. 의존성 설치
npm install
# 3. 환경 변수 설정
cp .env.example .env
# .env 파일을 편집하여 필요한 설정을 입력하세요
# 4. 데이터베이스 초기화
npm run init
# 5. 개발 서버 실행
npm run dev
# 서버가 http://localhost:3000 에서 실행됩니다
elimgweb/
├── server/ # 백엔드 서버
│ ├── models/ # 데이터베이스 모델
│ │ └── database.js # SQLite 스키마 및 초기화
│ ├── routes/ # API 라우트
│ │ ├── api.js # 공개 API 엔드포인트
│ │ └── admin.js # 관리자 API 엔드포인트
│ ├── middleware/ # Express 미들웨어
│ ├── utils/ # 유틸리티 함수
│ ├── uploads/ # 업로드된 파일
│ ├── index.js # 메인 서버 파일
│ ├── init-db.js # 데이터베이스 초기화 스크립트
│ └── database.sqlite # SQLite 데이터베이스 (자동 생성)
├── public/ # 정적 파일
│ ├── assets/ # 이미지, 아이콘
│ └── index.html # 프론트엔드 SPA
├── i18n/ # 다국어 번역 파일
│ ├── ko.json # 한국어
│ ├── en.json # 영어
│ └── vi.json # 베트남어
├── .env.example # 환경 변수 예시
├── package.json # 프로젝트 설정
└── README.md # 이 파일
.env 파일을 생성하고 다음 변수들을 설정하세요:
NODE_ENV=development
PORT=3000
HOST=0.0.0.0
DB_PATH=./server/database.sqlite
JWT_SECRET=your-super-secret-jwt-key-change-this
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=your-email@gmail.com
EMAIL_PASS=your-app-password
EMAIL_FROM=no-reply@elimg.com
PORTONE_API_KEY=your-api-key
PORTONE_API_SECRET=your-api-secret
PORTONE_STORE_ID=your-store-id
ADMIN_USERNAME=admin
ADMIN_PASSWORD=change-this-password
GET /api/visitors
POST /api/newsletter
Content-Type: application/json
{
"email": "user@example.com",
"language": "ko"
}
POST /api/donation
Content-Type: application/json
{
"donor_name": "홍길동",
"donor_email": "hong@example.com",
"donor_phone": "010-1234-5678",
"amount": 50000,
"payment_method": "card",
"is_recurring": false,
"language": "ko"
}
GET /api/donation/progress
GET /api/news?page=1&limit=10&language=ko
GET /api/news/:id?language=ko
POST /api/comments
Content-Type: application/json
{
"news_id": 1,
"author_name": "홍길동",
"author_email": "hong@example.com",
"content": "좋은 소식 감사합니다!",
"language": "ko"
}
GET /api/search?q=선교&language=ko
GET /api/i18n/:lang
POST /api/admin/login
Content-Type: application/json
{
"username": "admin",
"password": "your-password"
}
GET /api/admin/dashboard
Authorization: Bearer <token>
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
방문자 추적
뉴스레터 구독자
후원 내역
뉴스 기사 (다국어)
댓글
관리자 계정
협력 파트너 (BAM 기업)
갤러리 이미지
사이트 설정
i18n/
├── ko.json
├── en.json
└── vi.json
// API 요청 시 language 파라미터 사용
GET /api/news?language=vi
GET /api/i18n/en
.env 파일에 설정PORTONE_API_KEY=your-api-key
PORTONE_API_SECRET=your-api-secret
PORTONE_STORE_ID=your-store-id
/api/donation 으로 후원 정보 전송.env 파일에 설정EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=your-email@gmail.com
EMAIL_PASS=your-app-password
# 환경 변수 설정
NODE_ENV=production
# 서버 실행
npm start
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)이 프로젝트는 MIT 라이선스 하에 있습니다. 자세한 내용은 LICENSE 파일을 참조하세요.
엘림G선교회
이 프로젝트가 도움이 되었다면 후원을 고려해주세요:
계좌번호: 농협은행 301-0296-7179-91 (엘림G선교회)
| Made with ❤️ by Elim G Mission | © 2026 All rights reserved |