# 이단 탈퇴자 교리점검표 웹서비스 기독교대한감리회 신앙고백에 따른 이단 탈퇴자를 위한 교리점검표 설문 폼 서비스입니다. ## 주요 기능 1. **설문응답자 기본 정보 입력** - 이름, 생년월일, 연락처, 출신 이단, 재적 기간 2. **기독교대한감리회 신앙고백 교리 점검** - 삼위일체, 예수 그리스도, 성경, 구원 등 3. **이단 일반 교리 점검** - 추가 계시, 지도자 신격화, 구원관, 세계관 4. **출신 이단별 교리 점검** - 각 이단별 특정 교리 점검 5. **간증문 입력** - 탈퇴 과정과 소감 작성 6. **워드 문서 자동 생성** - 응답 내용을 워드 템플릿에 자동 입력 7. **구글 드라이브 자동 업로드** - 생성된 문서를 구글 드라이브에 업로드 ## 설치 방법 ### 1. 의존성 설치 ```bash pip install -r requirements.txt ``` ### 2. 환경 변수 설정 `.env` 파일을 생성하고 다음 내용을 입력하세요: ```env SECRET_KEY=your-secret-key-here ACCESS_KEY=your-access-key-here GOOGLE_DRIVE_CREDENTIALS_FILE=credentials.json GOOGLE_DRIVE_TOKEN_FILE=token.json GOOGLE_DRIVE_FOLDER_ID=your-google-drive-folder-id ``` **인증키 설정:** - `ACCESS_KEY`: 서비스 접근을 위한 인증키입니다. - 기본값: `Kx9mP2vQ7nR4tY8wZ3bC6hJ1fL5dN0sA8uE2iM7o` (프로덕션에서는 반드시 변경하세요) - 사용자는 이 인증키를 입력해야만 설문에 접근할 수 있습니다. - `.env` 파일에서 `ACCESS_KEY`를 설정하면 기본값을 덮어씁니다. ### 3. 구글 드라이브 API 설정 1. [Google Cloud Console](https://console.cloud.google.com/)에서 프로젝트 생성 2. Google Drive API 활성화 3. OAuth 2.0 클라이언트 ID 생성 (데스크톱 애플리케이션) 4. `credentials.json` 파일을 프로젝트 루트에 저장 5. 구글 드라이브에 업로드할 폴더를 생성하고 폴더 ID를 `.env`에 설정 ### 4. 워드 템플릿 준비 (선택사항) `word_templates/` 디렉토리에 각 이단별 템플릿 파일을 준비할 수 있습니다: - `신천지_template.docx` - `구원파_template.docx` - `하나님의교회_template.docx` - `통일교_template.docx` - `기타_template.docx` - `default_template.docx` (기본 템플릿) 템플릿 파일이 없으면 자동으로 기본 템플릿이 생성됩니다. ## 실행 방법 ```bash python app.py ``` 서버가 실행되면 브라우저에서 `http://localhost:5000`으로 접속하세요. ## 프로젝트 구조 ``` . ├── app.py # Flask 메인 애플리케이션 ├── config.py # 설정 파일 ├── requirements.txt # Python 의존성 ├── .env # 환경 변수 (생성 필요) ├── credentials.json # 구글 드라이브 인증 파일 (생성 필요) ├── token.json # 구글 드라이브 토큰 (자동 생성) ├── templates/ # HTML 템플릿 │ ├── base.html │ ├── step1.html │ ├── step2.html │ ├── step3.html │ ├── step4.html │ ├── step5.html │ └── complete.html ├── static/ # 정적 파일 │ ├── style.css │ └── script.js ├── word_templates/ # 워드 템플릿 파일 ├── output/ # 생성된 문서 저장 폴더 (자동 생성) └── utils/ # 유틸리티 모듈 ├── word_processor.py └── google_drive.py ``` ## 리눅스 서버 배포 ### 1. Gunicorn 설치 ```bash pip install gunicorn ``` ### 2. Gunicorn으로 실행 ```bash gunicorn -w 4 -b 0.0.0.0:5000 app:app ``` ### 3. systemd 서비스로 등록 (선택사항) `/etc/systemd/system/doctrine-check.service` 파일 생성: ```ini [Unit] Description=Doctrine Check Web Service After=network.target [Service] User=your-user WorkingDirectory=/path/to/doctrine-check Environment="PATH=/path/to/venv/bin" ExecStart=/path/to/venv/bin/gunicorn -w 4 -b 0.0.0.0:5000 app:app [Install] WantedBy=multi-user.target ``` 서비스 시작: ```bash sudo systemctl start doctrine-check sudo systemctl enable doctrine-check ``` ### 4. Nginx 리버스 프록시 설정 (선택사항) ```nginx server { listen 80; server_name your-domain.com; location / { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ``` ## 주의사항 - 프로덕션 환경에서는 `SECRET_KEY`와 `ACCESS_KEY`를 안전하게 설정하세요 - 인증키는 링크를 받은 사람에게만 전달하세요 - 구글 드라이브 API 인증 정보는 절대 공개하지 마세요 - `output/` 디렉토리의 파일은 정기적으로 정리하세요 - HTTPS를 사용하여 데이터 보안을 강화하세요 ## 인증키 관리 - 기본 인증키: `Kx9mP2vQ7nR4tY8wZ3bC6hJ1fL5dN0sA8uE2iM7o` - 인증키는 `.env` 파일의 `ACCESS_KEY`로 변경할 수 있습니다 - 사용자는 서비스 접속 시 인증 페이지에서 인증키를 입력해야 합니다 - 인증 후 세션에 저장되며, 로그아웃 시 인증이 해제됩니다 ## 라이선스 이 프로젝트는 기독교대한감리회를 위한 내부 사용 목적으로 제작되었습니다.