[feat] 웹 활동 로그 수집과 관리자 CSV 저장 구현 - #14
Merged
Merged
Conversation
Refs #8. 카메라 합성·인물 가림·사진 저장과 검증 추가. 공식 캐릭터 GLB는 별도 준비 필요.
사용자 제공 USDZ를 모바일 웹용 GLB로 변환하고 Draco 압축을 적용함.
…-camera-web [feat] 3D 캐릭터 웹 카메라 촬영 기능 구현
DevDon-iOS
marked this pull request as ready for review
September 15, 2026 11:05
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
문제와 결과
페이지 방문 후 읽기·반응·예약·카메라 사용 흐름을 확인할 기록이 없었습니다. 공개 페이지 활동을 기존 PostgreSQL에 저장하고, 관리자 페이지에서 기간·이벤트·페이지·스토리별 조회 및 CSV 저장을 제공합니다.
주요 변경 사항
003_page_activity.sql,004_camera_activity.sql및 보관·삭제·지표 해석 문서 추가검증
격리된 PostgreSQL 18 / Node 26.3.1 / production Next 서버에서 실행했습니다.
npm run typecheck— 통과npm run lint— 통과npm test— 13개 통과npm run build— 통과node --env-file=.env.test --import tsx apps/web/scripts/migrate.ts— 001~004 적용 통과node --env-file=.env.test --import tsx --test apps/web/tests/*.integration.ts— 3개 통과cd apps/web후node --env-file=../../.env.test ../../node_modules/@playwright/test/cli.js test— 5개 통과git diff --check— 통과실제 DB 저장·중복 재전송·잘못된 입력·요청 제한·관리자 권한·필터·페이지 구분·CSV 상한·보관 삭제를 검증했습니다. 브라우저에서는 전송 응답 유실 후 재시도, 재시도 상한, 새로고침·뒤로 가기·30분 세션 만료, 비활성 상태에서 체류 시간 불변, 모바일/데스크톱 조회와 CSV 다운로드, 카메라와 기존 예약 흐름을 확인했습니다.
화면
검증용 데이터로 생성한 관리자 화면입니다.
한계 및 운영
main을 대상으로 합니다. 최신main의 1000바이트 제한과 활동 로그 수집을 함께 유지하도록 예약 화면 충돌을 해결했습니다.관련 이슈
Closes #11
main 통합 후 재검증
npm ci,npm run lint,npm run typecheck,npm test(13개),npm run build: 통과npm run db:migrate: 5개 마이그레이션 적용 및 재실행 통과npm run test:integration: 3개 통과npm exec -w apps/web -- playwright test: 5개 통과(가상 카메라 포함)git diff --check: 통과