324.ing — 2026년 7월 30일
149 files+11923-12205
# 324.ing 카메라 아카이브 대규모 리팩토링 완료
324.ing 프로젝트의 카메라 아카이브 기능에 대해 본격적인 구조 개선 작업을 진행했습니다. 약 150개 파일에 걸친 대규모 리팩토링으로, 기존에 산재되어 있던 UI 컴포넌트 중복(EntityUploadZone, Skeleton, SquarePhotoGrid 등)을 통일하고, 데이터 레이어를 체계적으로 정리했습니다. 특히 `lib/queries`와 라우트 그룹을 활용한 보호된 API 구조로 관리자 권한 검증을 표준화하여, 향후 기능 확장 시 일관된 패턴을 따를 수 있게 했습니다.
기술적으로는 단순한 정리를 넘어 몇 가지 핵심적인 개선을 이루었습니다. withAdmin/assertAdmin 헬퍼로 관리자 권한 로직을 통합하고, revalidate와 블록 관계 처리를 일원화했으며, Satori OG 팩토리의 크기 문제도 함께 해결했습니다. 개발 기반을 견고히 하기 위해 Vitest와 React Testing Library, jsdom을 도입해 테스트 인프라를 구축했고, ESLint와 타입 체크 스크립트도 추가했습니다. 불필요한 코드와 의존성을 정리하면서 프로젝트의 기술 부채를 크게 줄일 수 있었습니다.
이 과정에서 AI 협업 도구를 활용해 구조적 일관성을 검증하고 리팩토링 체크리스트를 작성함으로써 누락 없이 체계적으로 진행할 수 있었습니다. 이제 324.ing의 기반이 한층 견고해졌으므로, 새로운 기능 추가 시 더욱 빠르고 안정적으로 개발할 수 있을 것으로 기대합니다.
커밋 기록
docs(P6): sync CLAUDE.md with refactored architecture; fix OG factory satori sizing
04:45refactor(P5): unify UI duplicates — EntityUploadZone, useSlugCheck, Skeleton, SquarePhotoGrid, PrevNextNav, OG factory
04:39refactor(P4): data layer — lib/queries + photo-map + (protected) route group
04:18refactor(P3): unify admin API layer — withAdmin/assertAdmin, revalidate, blocks/relations
04:05chore(P2): add test infra — vitest + RTL/jsdom + eslint + typecheck script
03:51refactor(P1): remove dead code, unused deps, one-off scripts, root clutter
03:44