feat: 1:1 inquiry, guide admin, image storage, bilingual search#115
Open
imhyunho99 wants to merge 2 commits into
Open
feat: 1:1 inquiry, guide admin, image storage, bilingual search#115imhyunho99 wants to merge 2 commits into
imhyunho99 wants to merge 2 commits into
Conversation
- 1:1 문의 풀스택: entity/repo/service + REST + admin Thymeleaf - 가이드 admin CRUD: 12 endpoints + reorder transaction + dashboard menu - 이미지 스토리지 추상화: LocalFile / S3 자동 전환 (AWS 키 유무로) - 영문 검색 버그 수정: kor_name AND eng_name → OR + case-insensitive - 이미지 variant 컬럼 4개 + 응답 DTO 노출 - 이미지 최적화 CLI (--image-pipeline) — WebP 변환, dry-run 가능 - 환경 분리: application-local/docker/prod 평문 secret 제거 - AdminViewController 신규 (admin UI 라우팅 복구) - uploads/ .gitignore 추가 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
|
확인 했습니다!
|
Author
|
넵 로컬에서 돌려보시면 아시겠지만 대시보드로 어디많이 들어갔는지도 파악 되고요. 1:1문의랑 이런거 정상화도 시켰고 회원 탈퇴도 만들어 놨어요. 근데 이슈가 있는게
레포 프론트/백 다운로드 받고 클로드한테 에뮬레이터 켜서 내가 테스트해볼 수 있게 해달라고 하면 시켜줄거에요. admin url도 알려줄거고요 |
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.
feat: 1:1 inquiry, guide admin, image storage, bilingual search
Summary
이번 세션에서 백엔드에 추가/수정된 4개 트랙을 한 번에 정리한 PR.
추가로 운영 편의를 위한 admin UI 라우팅 복구 + 환경 분리(local/docker/prod 프로파일) + 이미지 최적화 파이프라인 코드도 포함.
변경 통계
주요 변경
1. 1:1 문의 기능
domain/inquiry/entity/Inquiry.java,InquiryStatus.javadomain/inquiry/repository/InquiryRepository.javadomain/inquiry/service/InquiryService.javadomain/inquiry/controller/InquiryController.javaPOST /api/v2/inquiry,GET /mine,GET /{id}domain/inquiry/dto/request/InquiryCreateReq.javadomain/inquiry/dto/response/InquiryRes.java,InquiryPageRes.java,InquiryCreateRes.javadomain/admin/controller/AdminInquiryController.java/admin/inquiriesThymeleaf + 상태/메모 편집templates/admin/inquiries.html,inquiry-detail.htmlDB에
inquiry테이블 자동 생성 (ddl-auto=update). 비로그인은device_number로, 로그인은 JWT로 인입.2. 가이드 (Guide) Admin CRUD
domain/admin/service/AdminGuideService.javadomain/admin/controller/AdminGuideController.javadomain/cocktail/repository/GuideDetailRepository.javatemplates/admin/guides.html,guide/edit.htmltemplates/admin/dashboard.htmlUNIQUE(guide_part, display_order)제약 회피하는 2-phase reorder 트랜잭션 포함.3. 이미지 저장 추상화
common/storage/ImageStorage.javacommon/storage/LocalFileImageStorage.javacommon/storage/S3ImageStorage.javacommon/storage/ImageStorageConfig.javaaws.s3.access-key유무로 자동 모드 선택common/storage/StaticUploadsWebConfig.java/uploads/**ResourceHandlerdomain/admin/controller/AdminAjaxController.java로컬 개발:
./uploads에 저장 →http://127.0.0.1/onz/uploads/...로 서빙운영: AWS 키 주입 즉시 자동으로 S3 모드 전환 (코드 변경 0줄)
4. 영문 검색 버그 수정
CocktailRepositoryImpl#nameContainsBilingual추가: kor/eng 컬럼 OR + case-insensitiveCocktailService#getCocktailSuggestions: 양 언어 contains 매칭으로 변경CocktailRepository:findTop5SuggestionsBilingual네이티브 쿼리 추가이전엔
kor_name AND eng_nameAND 매칭이라 둘 중 한쪽만 매칭하면 0건 반환.5. 부수 변경
Cocktail엔티티에 image variant 컬럼 4개 추가 (image_url_thumb/detail,glass_image_url_thumb/detail)CocktailResponseDto,CocktailDetailResponseDto에도 4개 필드 노출tools/imagepipeline/) —--image-pipeline플래그로 105장 일괄 WebP 변환application-local.yml,application-docker.yml환경 분리 (평문 패스워드 0)JWTFilter에 inquiry 인증 패턴 등록AdminViewController신규 — 그동안/admin/login,/admin/dashboard컨트롤러 누락으로 admin UI 자체가 404였던 이슈 복구.gitignore에uploads/추가보안 점검
.env,.env.*모두.gitignore에 등재됨application-*.yml모두 환경변수 참조만 사용 (평문 secret 없음)SecurityConfig.java:110의 admin/admin1!은 기존부터 default — 추후${ADMIN_PASSWORD}환경변수화 권장테스트 / 검증
Whiskey→ 위스키 사워 매칭 OK위스키→ 위스키 사워 매칭 OK후속 (이 PR 이후)
🤖 Generated with Claude Code