c0d827e8ec
chore: 프로젝트 설정 정리 및 개선
...
Client CI/CD / test (push) Successful in 9s
Client CI/CD / deploy (push) Failing after 2m15s
- eslint ^10 → ^9 다운그레이드 (react-hooks 플러그인 호환)
- .npmrc 제거, Dockerfile legacy-peer-deps 플래그 제거
- Dockerfile node:lts → node:22-alpine 버전 고정, ARG 오타 수정
- .dockerignore 추가 (.env, node_modules, .git 등 제외)
- .env 삭제, .env.development 추가 (로컬 기본값 git 관리)
- vite.config.js dev proxy 추가 (/api → localhost:8080)
- index.html favicon, OG 태그, Pretendard 폰트 로드 추가
- nginx.conf /images/ 캐시 전략 추가, 주석 정리
- eslint.config.js ecmaVersion 중복 선언 정리
- deploy.yml --legacy-peer-deps, --no-cache 제거, 배포 커맨드 가독성 개선
- .github/workflows/ci.yml 삭제 (Gitea 사용으로 불필요)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-12 16:53:38 +09:00
a5af22478a
Fix: Gitea 워크플로우에서 GitHub Action 의존 제거
...
Client CI/CD / test (push) Successful in 9s
Client CI/CD / deploy (push) Successful in 15s
.gitea/workflows/deploy.yml이 실제 실행되는 파일.
actions/checkout, actions/setup-node, appleboy/ssh-action을
모두 직접 실행 방식으로 대체.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 16:58:47 +09:00
790e6e4c7f
ci: npm ci에 --legacy-peer-deps 추가 (ESLint peer 충돌 해결)
...
Client CI/CD / test (push) Failing after 15s
Client CI/CD / deploy (push) Has been skipped
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 23:41:39 +09:00
285e3ae4bd
ci: HEALTHCHECK 추가 + git clone 토큰 로그 노출 방지
...
Client CI/CD / test (push) Failing after 1m3s
Client CI/CD / deploy (push) Has been skipped
- Dockerfile에 nginx HEALTHCHECK 추가 (wget, 30s 간격)
- deploy 단계 git clone에 set +x / --quiet / 2>/dev/null 적용
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 20:10:02 +09:00
96f5381d1c
feat: 코드 리뷰 기반 전면 개선 — 보안, 접근성, 테스트, UX
...
Client CI/CD / test (push) Failing after 15m27s
Client CI/CD / deploy (push) Has been cancelled
- HttpOnly 쿠키 refresh token (localStorage 제거)
- 런치 티켓 방식 (JWT URL 노출 방지)
- JWT 디코드로 role 결정 (localStorage 신뢰 제거)
- apiUpload withCredentials 추가
- ErrorBoundary 컴포넌트 추가
- 404 catch-all 라우트 추가
- ARIA 접근성 (tab pattern, aria-label, aria-live)
- Toast CSS 추출 + toastId useRef
- UploadForm 별도 파일 분리 + apiUpload 함수
- UserAdmin fetchError 상태 + retry 버튼
- AuthRedirect 일관성 (모든 경로 → /login)
- DownloadSection localStorage 중복 제거
- CI lint + test + build 검증 단계 추가
- Vitest 테스트 (client 8, Register 10, Login 8)
- AuthPage.css 공유 의도 명확화
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:07:32 +09:00
80c06e814e
ci: set -e 추가로 빌드 실패 시 파이프라인 중단
...
Client CI/CD / deploy (push) Failing after 10s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-24 22:40:54 +09:00
2f56dfb519
ci: 빌드 시 VITE_API_BASE_URL을 build arg로 주입
...
Client CI/CD / deploy (push) Successful in 12s
Vite는 빌드 타임에 환경변수를 번들에 포함하므로
서버 secrets에서 VITE_API_BASE_URL을 받아 docker build 시 전달
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-24 14:35:09 +09:00
ca08f7a2e6
CI/CD: Gitea Actions 배포 파이프라인 및 Docker 설정 추가
...
Client CI/CD / deploy (push) Successful in 11s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-24 11:32:42 +09:00