027a5880033a98c7573ef3df640d36a6cee9e28b
이단 탈퇴자 교리점검표 웹서비스
기독교대한감리회 신앙고백에 따른 이단 탈퇴자를 위한 교리점검표 설문 폼 서비스입니다.
주요 기능
- 설문응답자 기본 정보 입력 - 이름, 생년월일, 연락처, 출신 이단, 재적 기간
- 기독교대한감리회 신앙고백 교리 점검 - 삼위일체, 예수 그리스도, 성경, 구원 등
- 이단 일반 교리 점검 - 추가 계시, 지도자 신격화, 구원관, 세계관
- 출신 이단별 교리 점검 - 각 이단별 특정 교리 점검
- 간증문 입력 - 탈퇴 과정과 소감 작성
- 워드 문서 자동 생성 - 응답 내용을 워드 템플릿에 자동 입력
- 구글 드라이브 자동 업로드 - 생성된 문서를 구글 드라이브에 업로드
설치 방법
1. 의존성 설치
pip install -r requirements.txt
2. 환경 변수 설정
.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 설정
- Google Cloud Console에서 프로젝트 생성
- Google Drive API 활성화
- OAuth 2.0 클라이언트 ID 생성 (데스크톱 애플리케이션)
credentials.json파일을 프로젝트 루트에 저장- 구글 드라이브에 업로드할 폴더를 생성하고 폴더 ID를
.env에 설정
4. 워드 템플릿 준비 (선택사항)
word_templates/ 디렉토리에 각 이단별 템플릿 파일을 준비할 수 있습니다:
신천지_template.docx구원파_template.docx하나님의교회_template.docx통일교_template.docx기타_template.docxdefault_template.docx(기본 템플릿)
템플릿 파일이 없으면 자동으로 기본 템플릿이 생성됩니다.
실행 방법
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 설치
pip install gunicorn
2. Gunicorn으로 실행
gunicorn -w 4 -b 0.0.0.0:5000 app:app
3. systemd 서비스로 등록 (선택사항)
/etc/systemd/system/doctrine-check.service 파일 생성:
[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
서비스 시작:
sudo systemctl start doctrine-check
sudo systemctl enable doctrine-check
4. 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로 변경할 수 있습니다 - 사용자는 서비스 접속 시 인증 페이지에서 인증키를 입력해야 합니다
- 인증 후 세션에 저장되며, 로그아웃 시 인증이 해제됩니다
라이선스
이 프로젝트는 기독교대한감리회를 위한 내부 사용 목적으로 제작되었습니다.
Description
Languages
Python
47.4%
HTML
44.3%
CSS
7.7%
JavaScript
0.6%