v4.0.0: 회원·덱 API, 인증 UI, 프로필 및 레이아웃 통일

Express/SQLite API와 Docker 구성을 추가하고 로그인·덱 저장·공개 덱·관리자·프로필 화면을 구현했다. 결과 화면 저장 UX, 헤더 프로필, 애드센스용 app-shell 레이아웃(1280px) 및 문서를 반영했다.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-22 16:59:36 +09:00
parent f8c954f24b
commit dbf02241e2
56 changed files with 6732 additions and 183 deletions

33
docker-compose.yml Normal file
View File

@@ -0,0 +1,33 @@
services:
uadeck-api:
build: ./api
container_name: uadeck-api
restart: unless-stopped
ports:
- "${API_PORT:-3000}:3000"
environment:
- PORT=3000
- JWT_SECRET=${JWT_SECRET}
- JWT_EXPIRES=${JWT_EXPIRES:-7d}
- ADMIN_EMAIL=${ADMIN_EMAIL}
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
- ADMIN_USERNAME=${ADMIN_USERNAME:-admin}
- CORS_ORIGINS=${CORS_ORIGINS:-*}
- PREVIEWS_PATH=/data/previews
- AVATARS_PATH=/data/avatars
- DB_PATH=/data/uadeck.db
- DATAS_PATH=/datas
volumes:
- uadeck-data:/data
- ./datas:/datas:ro
- ./api/data/previews:/data/previews
- ./api/data/avatars:/data/avatars
healthcheck:
test: ["CMD-SHELL", "node -e \"fetch('http://127.0.0.1:3000/api/v1/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\""]
interval: 30s
timeout: 10s
retries: 3
start_period: 15s
volumes:
uadeck-data: