Files
uniare.sori.studio/docs/todo.md
zenn af721d327d 전송 최적화: nginx gzip·이미지 lazy-load·캐시 연장
- nginx 텍스트 자산 gzip 압축 추가로 css/js/json/HTML 전송량 절감
- cardList 카드 이미지 lazy-load로 시리즈 진입 시 즉시 다운로드 방지
- 정적 이미지 캐시 7일→30일 연장
- 미사용 style/deck-history.css 삭제

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 14:52:18 +09:00

34 lines
2.1 KiB
Markdown

# 할 일
## 운영
- NAS에서 `uniare-web`, `uniare-api` 스택의 재기동과 헬스 체크를 최종 확인한다.
- SEO 메타데이터 배포 후 Google Search Console에서 메인 URL 재색인을 요청한다.
- 운영 `.env`의 `JWT_SECRET`, 관리자 계정, CORS 허용 도메인을 실제 환경 기준으로 점검한다.
- Resend에서 발신용 하위 도메인을 인증하고 운영 `.env`의 `RESEND_API_KEY`, `RESEND_FROM_EMAIL`, `APP_BASE_URL`을 설정한 뒤 실제 수신을 확인한다.
- DB와 업로드 이미지(`api/data/previews`, `api/data/avatars`)의 정기 백업·복구 절차를 검증한다.
- 원격 저장소의 Git LFS 업로드 상태와 용량 정책을 확인한다.
- Compose의 컨테이너명과 데이터 볼륨명을 환경 변수로 관리할지 결정하고, 적용 시 운영 마이그레이션 절차를 작성한다.
## 기능
- `admin.html`의 고정 한국어 문구를 `ko`, `ja`, `en` 번역 체계에 연결한다.
- 옆 프로젝트에 `integrations/uadeck-deck-client.js`를 적용하고 실제 공유 덱 조회를 검증한다.
- Homepage 연동이 필요해지면 `GET /api/homepage`와 운영 지표 응답을 구현한다.
## 유지보수
- 카드 원본 이미지(약 1.8GB PNG)를 WebP로 일괄 변환하고 참조 경로·폴백을 정비해 대역폭을 절감한다.
- 유난히 큰 개별 이미지(예: `ua44/…EVA-1-079_p2.png` 1.2MB, `ua14/UAPR_DST-1-039.png` 1.0MB, `logo_unionarena.png` 431KB)를 재압축한다.
- `cardList.html`, `result.html`의 대형 인라인 스크립트를 기능 단위 모듈로 분리한다.
- `datas/ua99 sample.js`, `datas/ua99 sample mini.js`의 보존 목적과 배포 제외 여부를 확정한다.
## 화면별 Tailwind 전환
- [x] 관리자 (`admin.html`)
- [x] 로그인·회원가입 (`login.html`, `signup.html`)
- [x] 내 덱 (`deckHistory.html` — `components.css` 빌드 포함)
- [x] 공개 덱 (`preset.html` — `components.css` 빌드 포함)
- [ ] 프로필 (`profile.html`, `style/profile.css` — 기존 CSS 유지)
- [ ] 카드 목록·덱 결과·메인 (`cardList.html`, `result.html`, `index.html` — 원래 Tailwind 기반, 레거시 CSS 정리만 검토)