🚀 배포용: PDF 뷰어 개선 및 서적별 UI 데본씽크 스타일 적용

 주요 개선사항:
- PDF API 500 에러 수정 (한글 파일명 UTF-8 인코딩 처리)
- PDF 뷰어 기능 완전 구현 (PDF.js 통합, 네비게이션, 확대/축소)
- 서적별 문서 그룹화 UI 데본씽크 스타일로 개선
- PDF Manager 페이지 서적별 보기 기능 추가
- Alpine.js 로드 순서 최적화로 JavaScript 에러 해결

🎨 UI/UX 개선:
- 확장/축소 가능한 아코디언 스타일 서적 목록
- 간결하고 직관적인 데본씽크 스타일 인터페이스
- PDF 상태 표시 (HTML 연결, 서적 분류)
- 반응형 디자인 및 부드러운 애니메이션

🔧 기술적 개선:
- PDF.js 워커 설정 및 토큰 인증 처리
- 서적별 PDF 자동 그룹화 로직
- Alpine.js 컴포넌트 초기화 최적화
This commit is contained in:
hyungi
2025-09-05 07:13:49 +09:00
commit cfb9485d4f
170 changed files with 41113 additions and 0 deletions

76
docker-compose.yml Normal file
View File

@@ -0,0 +1,76 @@
version: '3.8'
services:
# Nginx 리버스 프록시
nginx:
build: ./nginx
container_name: document-server-nginx
ports:
- "24100:80"
volumes:
- ./frontend:/usr/share/nginx/html
- ./uploads:/usr/share/nginx/html/uploads
depends_on:
- backend
networks:
- document-network
restart: unless-stopped
# Backend API 서버
backend:
build: ./backend
container_name: document-server-backend
ports:
- "24102:8000"
volumes:
- ./uploads:/app/uploads
- ./backend/src:/app/src
environment:
- DATABASE_URL=postgresql+asyncpg://docuser:docpass@database:5432/document_db
- SECRET_KEY=${SECRET_KEY:-production-secret-key-change-this}
- ADMIN_EMAIL=${ADMIN_EMAIL:-admin@test.com}
- ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin123}
- DEBUG=false
depends_on:
- database
networks:
- document-network
restart: unless-stopped
# PostgreSQL 데이터베이스
database:
image: postgres:15-alpine
container_name: document-server-db
ports:
- "24101:5432"
environment:
- POSTGRES_DB=document_db
- POSTGRES_USER=docuser
- POSTGRES_PASSWORD=docpass
volumes:
- postgres_data:/var/lib/postgresql/data
- ./database/init:/docker-entrypoint-initdb.d
networks:
- document-network
restart: unless-stopped
# Redis (캐싱 및 세션)
redis:
image: redis:7-alpine
container_name: document-server-redis
ports:
- "24103:6379"
volumes:
- redis_data:/data
networks:
- document-network
restart: unless-stopped
command: redis-server --appendonly yes
volumes:
postgres_data:
redis_data:
networks:
document-network:
driver: bridge