Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
389 commits
Select commit Hold shift + click to select a range
8302c0e
#32 feat: nutrient, gender, age로 권장량 조회
yeonjy May 8, 2025
fc1b143
#32 feat: 영양성분 권장량의 40% 넘는 식품만 반환
yeonjy May 8, 2025
71405d5
#32 feat: 식품 분석 기능 - 영양성분 분석 추가
yeonjy May 8, 2025
58bdb54
#32 fix: percentage 오타 수정
yeonjy May 8, 2025
8df2b3c
#32 fix: 권장량이 0인 경우 처리
yeonjy May 8, 2025
60d7329
#32 feat: 비타민 B 3-5세 여성 권장량 데이터 추가
yeonjy May 8, 2025
ea67c25
#32 docs: 영양성분 분석 설명 추가
yeonjy May 8, 2025
1175f17
#32 feat: 사용자 정보 비어있는지 검증
yeonjy May 8, 2025
f39dee0
#31 refactor: 변수명 변경
zyovn May 8, 2025
74484ab
#31 refactor: 키워드 타입 enum으로 수정
zyovn May 8, 2025
fb7de12
#31 feat: repository 및 healthFoodInit keyword 자동 등록
zyovn May 8, 2025
fe646bb
#31 feat: baseEntity 상속
zyovn May 8, 2025
4c0eca5
#32 refactor: LinkedList -> ArrayList
yeonjy May 11, 2025
683e25a
Merge pull request #34 from TEAM-WEBEYE/feat/#32-nutrient-percent
yeonjy May 11, 2025
010bc86
#31 fix: 피드백 반영ㅇ
zyovn May 11, 2025
52b59a8
Merge pull request #35 from TEAM-WEBEYE/feat/#31-health-db
zyovn May 11, 2025
2bd0106
#33 feat: 건강기능식품 response
zyovn May 11, 2025
8efd928
#33 feat: 건강기능식품 open ai prompt 작성
zyovn May 11, 2025
5d584f5
#33 feat: 건강 기능 식품 효능 키워드 분석
zyovn May 12, 2025
1910b52
#33 refactor: successCode 수정
zyovn May 12, 2025
2e10dc1
#33 feat: product-productHealthFood-HealthFood 다대다 관계 설정
zyovn May 12, 2025
9a10b1d
#33 feat: productHealthFoodRepository
zyovn May 12, 2025
00cd4d7
#36 remove: 기존 Open API 호출해서 원재료 영양성분 받아오는 코드 제거
yeonjy May 12, 2025
0c36e9a
#36 feat: RawMaterial 필요 컬럼만 두기
yeonjy May 12, 2025
f50693e
#37 refactor: 식품 관련 내용 분석 요청 DTO와 기타 제품 분석 요청 DTO 변경
yeonjy May 12, 2025
f45e5a9
#37 refactor: 제품 상세 설명 DTO 변경
yeonjy May 12, 2025
be10144
#37 refactor: 상품 상세 설명 - 한국어 응답 설정
yeonjy May 12, 2025
29f9c0d
Merge branch 'refactor/#37-product-detail' into feat/#36-raw-material
yeonjy May 12, 2025
36d25b6
#36 feat: 영양성분 정보 포함 여부 필드 NutritionAiResponse 에 추가
yeonjy May 12, 2025
8d454fb
Merge pull request #38 from TEAM-WEBEYE/refactor/#37-product-detail
yeonjy May 12, 2025
14527a1
#33 feat: ai 분석 후 db에 저장
zyovn May 12, 2025
5f99161
#33 minor: 불필요한 import문 제거
zyovn May 12, 2025
f992649
#33 fix: 충돌 해결
zyovn May 12, 2025
e4b8b64
#33 fix: 건강기능식품 원료 open api 호출 주석 처리
zyovn May 12, 2025
5cb577f
#36 feat: 원재료 영양성분 분석 OpenAI
yeonjy May 12, 2025
6872c85
#36 feat: 원재료 식품 영양정보 저장
yeonjy May 12, 2025
15a041a
#36 feat: 원재료 영양성분 처리 로직 추가
yeonjy May 12, 2025
a59ae28
#33 fix: 원재료명 100개씩 나누어 전송
zyovn May 12, 2025
959f251
#36 refactor: primitive boolean expression
yeonjy May 12, 2025
4d855bc
#33 chore: 저장된 제품-건강기능식품 키워드 todo 추가
zyovn May 12, 2025
15e534d
#40 fix: webConfig 수정
zyovn May 12, 2025
418540f
#33 fix: coderabbit 피드백 반영
zyovn May 12, 2025
962c2bf
#42 fix: 화장품 주의 성분 response 수정
zyovn May 13, 2025
7e231a3
#40 feat: origin 추가
zyovn May 13, 2025
299b460
Merge pull request #41 from TEAM-WEBEYE/refactor/#40-webconfig
zyovn May 13, 2025
59c083d
Merge branch 'develop' of https://github.com/TEAM-WEBEYE/SERVER into …
zyovn May 13, 2025
ab2ee9d
#33 fix: String -> List 수정
zyovn May 14, 2025
3e7ef46
#33 fix: open ai 원료명 추출 -> db 탐색 방식으로 수정
zyovn May 14, 2025
1717b48
#36 remove: 사용하지 않는 API 제거
yeonjy May 14, 2025
7a63427
Merge pull request #39 from TEAM-WEBEYE/feat/#33-health-analysis
zyovn May 15, 2025
30ea04d
Merge branch 'develop' of https://github.com/TEAM-WEBEYE/SERVER into …
zyovn May 15, 2025
c766162
#42 feat: explainCosmetic 프롬프트 수정
zyovn May 15, 2025
1a32680
Merge pull request #45 from TEAM-WEBEYE/refactor/#42-cosmetic
zyovn May 15, 2025
4e4830b
#36 feat: 식품 제목 필수값으로 지정
yeonjy May 15, 2025
2ae38bc
#36 refactor: 원재료 데이터 존재하지 않으면 warn 로그 처리
yeonjy May 15, 2025
67edf3a
#36 feat: ProductNutrient @UniqueConstraint 추가
yeonjy May 15, 2025
77a014d
Merge pull request #43 from TEAM-WEBEYE/feat/#36-raw-material
yeonjy May 15, 2025
9bf4db2
#44 feat: 상품 OutlineType enum
yeonjy May 16, 2025
a466e5e
#44 remove: 사용하지 않게 된 클래스 제거
yeonjy May 16, 2025
f68f2dd
refactor: ProductAnalysis 관련 DTO 이동
yeonjy May 16, 2025
8a17d57
#44 feat: 개요에 따른 상품 정보 분석 API
yeonjy May 16, 2025
88c53df
#44 feat: 상품 outline을 활용한 분석 로직
yeonjy May 16, 2025
1b77838
Merge pull request #46 from TEAM-WEBEYE/feat/#44-analyze-product-detail
zyovn May 16, 2025
c27e201
#47 feat: Image Analysis API
yeonjy May 16, 2025
6a0bddc
#47 feat: ImageAnalysis Service
yeonjy May 16, 2025
26914ea
#47 feat: Image Analysis Open AI prompt
yeonjy May 16, 2025
3f4308a
#47 docs: swagger API Tag 형식 일치
yeonjy May 16, 2025
4df8b27
Merge pull request #48 from TEAM-WEBEYE/feat/#47-image-analysis
yeonjy May 16, 2025
b5ebd57
#49 feat: product detail html을 입력받아 이미지 URL 추출
yeonjy May 17, 2025
f52a31f
#49 fix: 제거한 import 반영
yeonjy May 17, 2025
014d031
#49 docs: swagger와 오류 메시지 수정
yeonjy May 17, 2025
ac63ade
#49 chore: HTML -> image urls 추출 Log 추가
yeonjy May 17, 2025
efedc8a
Merge pull request #51 from TEAM-WEBEYE/feat/#49-product-detail-html
yeonjy May 17, 2025
29e7be2
#50 refactor: request값을 String -> Map으로 변경
zyovn May 17, 2025
b7843f0
#50 refactor: 프롬프트 수정
zyovn May 17, 2025
01e2966
#49 refactor: image url 추출 메서드 ImageUrlExtractor 로 추출
yeonjy May 17, 2025
6f5c54b
#49 refactor: 이미지를 List로 받는 API를 HTML로 받아 파싱하도록 수정
yeonjy May 17, 2025
ea818ae
#49 docs: swagger 대괄호 삭제
yeonjy May 17, 2025
50f985d
#50 docs: schema 작성
zyovn May 17, 2025
a1cb7b1
#50 docs: recore schema 수정
zyovn May 17, 2025
2d1df23
#49 feat: html에 이미지 포함되어 있는지 검증
yeonjy May 17, 2025
79dc80f
#49 feat: 추출된 이미지 URL이 없을 때 예외처리
yeonjy May 17, 2025
67b5aa2
Merge pull request #52 from TEAM-WEBEYE/feat/#49-product-detail-html
yeonjy May 17, 2025
641abe3
#53 remove: product nutrient unique
yeonjy May 17, 2025
b8dd1a4
Merge pull request #54 from TEAM-WEBEYE/remove/#53-productnutrient-un…
yeonjy May 17, 2025
a473718
#50 feat: 리뷰 요약 시, 평균 별점 계산 후 반환
zyovn May 17, 2025
f21c93e
#50 refactor: 프롬프트 수정
zyovn May 17, 2025
7d9e586
#50 style: 들여쓰기 수정
zyovn May 17, 2025
cf09da2
#50 refactor: 프롬프트 재수정
zyovn May 17, 2025
92b4d65
#50 fix: 긍정, 부정 리뷰 최대 3개까지 표출
zyovn May 17, 2025
8c0ee63
#50 feat: review, product 일대일관계 매핑
zyovn May 17, 2025
9527fd8
#50 feat: request에 productId 추가
zyovn May 17, 2025
9a99189
Merge branch 'develop' of https://github.com/TEAM-WEBEYE/SERVER into …
zyovn May 18, 2025
319283d
#50 fix: 피드백 반영
zyovn May 18, 2025
b93419f
#50 chor: 불필요한 import문 제거
zyovn May 18, 2025
dcf6ed8
#50 feat: avergeRating nullable 조건 추가
zyovn May 18, 2025
be21e09
#50 fix: 피드백 반영
zyovn May 20, 2025
5b7fb90
#50 feat: 이미 리뷰 요약을 진행한 상품일 시, DB에서 조회 후 반환
zyovn May 20, 2025
7f57425
#50 fix: 피드백 반영
zyovn May 20, 2025
35f7080
Merge pull request #55 from TEAM-WEBEYE/feat/#50-review-summary
zyovn May 20, 2025
983b97d
#59 refactor: response에 totalCount 추가
zyovn May 21, 2025
c5618e5
Merge pull request #60 from TEAM-WEBEYE/refactor/#59-review
zyovn May 21, 2025
5eea062
#61 fix: 디스케이프 로직 추가
zyovn May 22, 2025
53c8841
Merge pull request #62 from TEAM-WEBEYE/fix/#61-image-url
zyovn May 22, 2025
b390427
#63 fix: product nutrient duplicate remove
yeonjy May 22, 2025
6a575d9
Merge pull request #64 from TEAM-WEBEYE/fix/#63-product-nutrient-dupl…
yeonjy May 22, 2025
e65867d
#65 feat: product_type 컬럼 추가
zyovn May 23, 2025
e995eb2
#65 feat: cosmetic 관련 domain 설계
zyovn May 23, 2025
e0df20a
#65 feat: repository 설ㄹ계
zyovn May 23, 2025
713b0cd
#65 feat: ingredientInit 설계
zyovn May 23, 2025
8c28303
#65 feat: 브랜치 변경을 위한 중간 커밋
zyovn May 23, 2025
ab3acf3
#66 feat: 임시 로그 코드 추가
zyovn May 23, 2025
20fe322
Merge pull request #67 from TEAM-WEBEYE/refactor/#66-review-log
zyovn May 23, 2025
41b935f
#68 feat: map -> list로 변경
zyovn May 23, 2025
cb0edaa
Merge pull request #69 from TEAM-WEBEYE/fix/#68-review-map
zyovn May 23, 2025
73de72d
#56 refactor: webConfig 수정
zyovn May 23, 2025
653227d
Merge pull request #70 from TEAM-WEBEYE/refactor/#56-webconfig
zyovn May 23, 2025
70862e6
#65 checkout: 브랜치 변경을 위한 중간 커밋
zyovn May 23, 2025
3f2ffbe
#72 feat: 리뷰 내 별점만 존재하고 내용은 존재하지 않을 경우 분기 처리
zyovn May 24, 2025
2475766
#72 feat: 불필요한 삼항연산자 제거
zyovn May 24, 2025
362a79d
#72 refactor: 프롬프트와 clova x 호출 분리
zyovn May 24, 2025
d1e462c
#72 docs: 주석 추가
zyovn May 24, 2025
b5377c8
#72 refactor: map -> list 변환 메서드 reviewCalculator로 이동
zyovn May 24, 2025
79b376c
#72 chore: 불필요한 import문 제거
zyovn May 24, 2025
ac803c2
#72 chore: . 제거
zyovn May 24, 2025
cd91dc2
#65 remove: cosmetic domain 삭제
zyovn May 24, 2025
2fa8451
#65 rename: cosmeticMapper -> cosmeticIngredientMapper
zyovn May 24, 2025
bfd5e57
#65 fix: 연관관계 수정
zyovn May 24, 2025
57ceb91
#74 refactor: webConfig 수정
zyovn May 24, 2025
7ffd037
#74 refactor: ㅅ정
zyovn May 24, 2025
ace1ec9
Merge pull request #75 from TEAM-WEBEYE/refactor/#74-webconfig
zyovn May 24, 2025
4b8539e
#72 refactor: 상수 처리
zyovn May 24, 2025
52b0f70
#76 refactor: 수정
zyovn May 24, 2025
5aae301
Merge pull request #77 from TEAM-WEBEYE/refactor/#76-cors
zyovn May 24, 2025
a984c6f
#71 feat: 식품 분석 API에 영양성분 도출 기준 함량 추가
yeonjy May 24, 2025
7164948
#71 feat: OpenAI에서 영양성분 도출 기준 함량 추출
yeonjy May 24, 2025
aa9db93
#71 feat: Product 테이블에 nutrientReferenceAmount 추가
yeonjy May 24, 2025
44bbff1
#71 feat: nutrientReferenceAmount 를 응답에 추가하는 로직
yeonjy May 24, 2025
efcc26a
Merge pull request #73 from TEAM-WEBEYE/refactor/#72-review-response
yeonjy May 24, 2025
cb578fc
#71 refactor: getNutrientRecommendationResponse -> getNutrientResponse
yeonjy May 24, 2025
022b21c
#71 fix: product 정보 다시 저장하는 로직 제거
yeonjy May 24, 2025
0260184
#79 refactor: webConfig 수정
zyovn May 24, 2025
a67651c
Merge pull request #80 from TEAM-WEBEYE/refactor/#79-webconfig
zyovn May 24, 2025
488cec3
#71 refactor: 사용하지 않는 import 문 제거
yeonjy May 24, 2025
a452e9d
#79 refactor: 수정
zyovn May 24, 2025
6be4f85
Merge pull request #81 from TEAM-WEBEYE/refactor/#79-webconfig
zyovn May 24, 2025
30e2663
Merge pull request #78 from TEAM-WEBEYE/feat/#71-nutrient-reference-v…
yeonjy May 24, 2025
a4dd205
#65 feat: cosmetic db내 저장
zyovn May 25, 2025
c5e96ff
#65 feat: prompt 수정
zyovn May 25, 2025
ddab1e0
#65 feat: healthFood prompt 수정
zyovn May 25, 2025
7d9b0d2
#65 feat: healthFood DB내 저장 후 호출 로직
zyovn May 25, 2025
14e10b8
#65 fix: 충돌 해결
zyovn May 25, 2025
3409c7f
#65 feat: food enum 추가
zyovn May 25, 2025
08df820
#65 remove: 불필요한 메소드 삭제
zyovn May 25, 2025
9f8b328
#65 fix: saveProductHealthFood 수정
zyovn May 25, 2025
041ae85
#65 remove: 필요없는 연관관계 메서드 삭제
zyovn May 25, 2025
2e2ab3f
#65 fix: 피드백 반영
zyovn May 25, 2025
7d24828
Merge pull request #83 from TEAM-WEBEYE/fear/#65-domain
zyovn May 25, 2025
aab893d
#84 feat: ProductDetail 구현 및 Product와의 관계 설정
yeonjy May 26, 2025
3b9b55f
#84 refactor: product detail 이사합니당
yeonjy May 26, 2025
cf02ed7
#84 feat: ProductDetailRepository 구현
yeonjy May 26, 2025
f98beec
#84 refactor: ImageUrlExtractor 의존성 주입 제거하고 메서드 static으로 변경
yeonjy May 26, 2025
e698803
#84 fix: product detail content 저장 가능 길이 늘리기
yeonjy May 26, 2025
e9e5f93
#84 refactor: productType nullable = true
yeonjy May 26, 2025
9fa7f7a
#84 feat: Product Detail 모든 outline에 대해 받아오기
yeonjy May 26, 2025
0c2df20
#84 refactor: ProductDetail 저장하는 API
yeonjy May 26, 2025
eb09705
#84 feat: ProductDetailService
yeonjy May 26, 2025
b7fd885
#84 feat: findByProductIdAndOutline repository
yeonjy May 26, 2025
4f3cae7
#84 docs: product detail swagger
yeonjy May 26, 2025
f4d80a9
#84 remove: 사용하지 않는 API 제거
yeonjy May 26, 2025
4b0ef1c
#84 refactor: 사용하지 않는 코드 제거
yeonjy May 26, 2025
4b579dc
#84 fix: @UniqueConstraint type -> outline
yeonjy May 26, 2025
bff41a5
#84 refactor: 사용하지 않는 import 제거
yeonjy May 26, 2025
3a2eeea
#84 feat: productId @NotBlank 추가
yeonjy May 26, 2025
8728f60
#84 refactor: 중복되는 ProductDetail 저장 로직 제거
yeonjy May 26, 2025
43a02e2
#84 refactor: Product Detail 답변 말투 통일
yeonjy May 26, 2025
3365f64
#84 feat: addProductDetails()
yeonjy May 26, 2025
de33a58
#84 refactor: ProductDetail 관련 DTO package 이동
yeonjy May 26, 2025
9a6522b
#84 refactor: product detail content 없을 때 처리
yeonjy May 26, 2025
8a09c93
#84 refactor: 메서드 분리
yeonjy May 26, 2025
4b338b0
#84 feat: ProductDetail 컬럼 - nullable = false 추가
yeonjy May 27, 2025
2127243
#86 fix: http://, https://, // 모두 잡고 https로 url 변경
yeonjy May 27, 2025
edef57a
Merge pull request #87 from TEAM-WEBEYE/fix/#86-variation-of-coupang-…
yeonjy May 27, 2025
606dd28
#88 fix: duplicate primary 수정
zyovn May 27, 2025
35dfe90
Merge pull request #89 from TEAM-WEBEYE/fix/#88-healthfood
zyovn May 27, 2025
ada3f8e
#88 fix: duplicate 수정
zyovn May 27, 2025
f4bc242
# d
zyovn May 27, 2025
ab785d2
Merge pull request #90 from TEAM-WEBEYE/refactor/#82-web
zyovn May 27, 2025
bb20ee1
#91: web
zyovn May 27, 2025
1c4ab99
Merge pull request #92 from TEAM-WEBEYE/91-refactor
zyovn May 27, 2025
3c01580
Merge pull request #85 from TEAM-WEBEYE/refactor/#84-save-product-detail
yeonjy May 27, 2025
fa76795
#88 fix: 연관관계 메서드 및 itemNames 매칭 메서드 수정
zyovn May 27, 2025
fcbe4d5
#94 feat: review request 수정
zyovn May 28, 2025
e7447eb
#94 feat: 브랜치 변경을 위한 중간 커밋
zyovn May 28, 2025
02f8ee8
#95 refactor: cors cnrk
zyovn May 28, 2025
34da0d7
Merge pull request #96 from TEAM-WEBEYE/refactor/#95-web
zyovn May 28, 2025
92a484c
#94 fix: prompt 및 parseResponse 수정
zyovn May 28, 2025
367a3a6
#97 refactor: webConfig 수정
zyovn May 28, 2025
7f37fde
Merge pull request #98 from TEAM-WEBEYE/refactor/#97-web
zyovn May 28, 2025
a96fa2a
Merge pull request #93 from TEAM-WEBEYE/fix/#88-healthfood
zyovn May 28, 2025
0d76bf8
Merge branch 'develop' of https://github.com/TEAM-WEBEYE/SERVER into …
zyovn May 28, 2025
afe6880
#94 refactor: schema 수정
zyovn May 28, 2025
0313f02
#94 fix: 피드백 반영
zyovn May 28, 2025
75dae0a
Merge pull request #100 from TEAM-WEBEYE/feat/#94-review-request
zyovn May 28, 2025
68b18fb
#99 refactor: 상세정보 설명 형식 변경
yeonjy May 28, 2025
917fb3c
#99 refactor: 인증 및 기타 제거
yeonjy May 28, 2025
aa481a2
Merge pull request #101 from TEAM-WEBEYE/refactor/#99-product-detail
yeonjy May 28, 2025
c63ed5e
#102 refactor: allowed origins 추가
yeonjy May 29, 2025
c61ce34
Merge pull request #103 from TEAM-WEBEYE/refactor/#102-webconfig
yeonjy May 29, 2025
0866d1e
#104 refactor: add review log
zyovn May 29, 2025
11eb8e0
Merge pull request #105 from TEAM-WEBEYE/refactor/#104-review-log
zyovn May 29, 2025
957eb4b
#106 fix: deploy test 1
zyovn May 29, 2025
c3b8277
#106 fix: deploy tesy 2
zyovn May 29, 2025
7c45239
#107 refactor: 음식 상세 분석 - 각 문장 앞 글머리기호 제거
yeonjy May 29, 2025
c124f51
#106 fix: deploy test 3
zyovn May 29, 2025
e5bfc50
Merge pull request #108 from TEAM-WEBEYE/refactor/#107-product-detail
yeonjy May 29, 2025
bcbe7c9
#109 refactor: 이미지 개수 20개 초과할 경우 20개로 제한하기
yeonjy May 29, 2025
9bba2f8
#106 fix: 브랜치 수정
zyovn May 29, 2025
8fd2cdb
#109 refactor: Log 추가
yeonjy May 29, 2025
1fe1905
Merge pull request #110 from TEAM-WEBEYE/fix/#106-deploy
zyovn May 29, 2025
095c270
Merge pull request #111 from TEAM-WEBEYE/fix/#109-openai-images
yeonjy May 29, 2025
5dc0516
#112 fix: OpenAI 분석 이미지 개수 15개로 제한
yeonjy May 29, 2025
c39f59e
Merge pull request #113 from TEAM-WEBEYE/fix/#112-openai-images-limit
yeonjy May 29, 2025
8b9350e
#112 fix: openai 오류 제거
yeonjy May 29, 2025
0dd985e
Merge pull request #115 from TEAM-WEBEYE/fix/#114-openai-analyze-images
yeonjy May 29, 2025
2eba388
#116 fix: 이미지 한도 개수 조정
yeonjy May 29, 2025
c205baa
Merge pull request #117 from TEAM-WEBEYE/fix/#116-images-limit
yeonjy May 29, 2025
379ef57
#116 refactor: image 개수 조정
yeonjy May 29, 2025
0fd18d5
Merge pull request #118 from TEAM-WEBEYE/fix/#116-images-limit
yeonjy May 29, 2025
4b7439f
#119 refactor: cors 추가
zyovn May 29, 2025
c48c509
Merge pull request #120 from TEAM-WEBEYE/refactor/#119-cors
zyovn May 29, 2025
a731263
#121 refactor: cors 추가
zyovn May 29, 2025
794ed76
Merge pull request #122 from TEAM-WEBEYE/refactor/#121-cors
zyovn May 29, 2025
1bf2ee7
#123 feat: allowed origin
yeonjy May 29, 2025
084bdf4
Merge pull request #124 from TEAM-WEBEYE/feat/#123-add-allowed-origin
yeonjy May 29, 2025
fafe568
#125 fix: 수정
zyovn May 29, 2025
70f1c90
Merge pull request #126 from TEAM-WEBEYE/fix/#125-cors
zyovn May 29, 2025
507d7b1
#127 refactor: 식품 제목 필수적 취소
yeonjy May 29, 2025
c757cee
Merge pull request #129 from TEAM-WEBEYE/refactor/#127-product-title
yeonjy May 29, 2025
5c4ff4f
#128 refactor: cors 추가
zyovn May 29, 2025
ede1035
Merge pull request #130 from TEAM-WEBEYE/refactor/#128-cors
zyovn May 29, 2025
4e743c5
#131 refactor: cors 추가
zyovn May 30, 2025
38af275
Merge pull request #132 from TEAM-WEBEYE/refactor/#131-cors
zyovn May 30, 2025
7be2f76
#134 fix: 한국어 응답 강조
yeonjy May 30, 2025
6aa5efa
#134 refactor: 사용하지 않는 import문 제거
yeonjy May 30, 2025
6509d02
Merge pull request #135 from TEAM-WEBEYE/fix/#134-image-analysis-english
yeonjy May 30, 2025
866404e
#133 refactor: cors 추가
zyovn May 31, 2025
684f3fe
Merge pull request #138 from TEAM-WEBEYE/refactor/#133-cors
zyovn May 31, 2025
71b03f5
#139 refactor: cors 추가
zyovn May 31, 2025
91f8c4a
Merge pull request #140 from TEAM-WEBEYE/refactor/#139-cors
zyovn May 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
language: "ko-KR"
early_access: false
reviews:
profile: "chill"
request_changes_workflow: false
high_level_summary: true
poem: true
review_status: true
collapse_walkthrough: false
auto_review:
enabled: true
drafts: false
chat:
auto_reply: true
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/gradlew text eol=lf
*.bat text eol=crlf
*.jar binary
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Bug Report Template
about: '버그 리포트 이슈 템플릿 '
title: 'fix: '
labels: ['🐛bug']
assignees: ''

---

## 🐛 어떤 버그인가요?
<!-- 진행할 작업에 대해 간단하게 설명해주세요 -->


## 🤷‍♂️ 어떤 상황에서 발생한 버그인가요?
<!--(가능하면) Given-When-Then 형식으로 서술해주세요 -->


## 🤔 예상 결과
<!-- 예상했던 정상적인 결과가 어떤 것이었는지 설명해주세요 -->
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: feature_template
about: '기능 추가 템플릿'
title: 'feat: '
labels: ['✨feature']
assignees: ''

---

## 📌 어떤 기능인가요?
<!-- 추가하려는 기능에 대해 간결하게 설명해주세요 -->

## 📝 작업 상세 내용
- [ ] TODO
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/refactor_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
name: Refactor Template
about: '리팩토링 템플릿'
title: 'refactor: '
labels: ['♻️refactor']
assignees: ''

---

## 📌 어떤 기능인가요?
<!-- 추가하려는 기능에 대해 간결하게 설명해주세요 -->


## 📝 작업 상세 내용
- [ ] TODO
14 changes: 14 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## #️⃣ 연관된 이슈

-

## 📝 작업 내용
<!-- 이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능) -->

-

## 📸 스크린샷


## 💬 리뷰 요구사항
<!-- 리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요 -->
99 changes: 99 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: CI/CD Pipeline

on:
push:
branches: [ "main", "develop" ]

jobs:
build-docker-image:
name: Build docker image
runs-on: ubuntu-latest

steps:
# 1. 코드 체크아웃
- name: Checkout code
uses: actions/checkout@v3

# 2. Java 환경 설정
- name: Set up JDK 21
uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'temurin'

# 3. Gradle Wrapper 실행 권한 추가
- name: Add execute permission for Gradle Wrapper
run: chmod +x ./gradlew

# Gradle 캐시 설정
- name: Gradle Caching
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: "${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}"
restore-keys: |
${{ runner.os }}-gradle-

- name: Ensure resources directory exists
run: mkdir -p src/main/resources

# application.yml 파일 생성
- name: Create application.yml
run: |
cd ./src/main/resources
touch ./application.yml
echo "${{ secrets.APPLICATION_YML }}" > ./application.yml

# 4. 프로젝트 빌드
- name: Build with Gradle
uses: gradle/gradle-build-action@v2
with:
arguments: clean bootJar -Pspring.profiles.active=prod

# 5. 빌드 결과 확인 (디버깅용)
- name: Check build output
run: ls -la build/libs/

# 6. Docker 이미지 빌드
- name: Build Docker Image
run: docker build -t ${{ secrets.DOCKER_USERNAME }}/webeye-server:latest .

# 7. Docker Hub 로그인
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

# 8. Docker 이미지 푸시
- name: Push Docker Image
run: docker push ${{ secrets.DOCKER_USERNAME }}/webeye-server:latest

deploy-pipeline:
needs: build-docker-image
runs-on: ubuntu-latest

steps:
# 1. 코드 체크아웃
- name: Checkout code
uses: actions/checkout@v3

# 2. NCP 배포
- name: Deploy to NCP
uses: appleboy/[email protected]
with:
host: ${{ secrets.NCP_HOST }}
username: ${{ secrets.NCP_USER }}
key: ${{ secrets.NCP_PRIVATE_KEY }}
script: |
docker pull ${{ secrets.DOCKER_USERNAME }}/webeye-server:latest
docker stop my-app || true
docker rm my-app || true
docker run -d -p 8080:8080 --name my-app \
-e TZ=Asia/Seoul \
-e SPRING_DATASOURCE_URL=jdbc:mysql://${{ secrets.DB_ENDPOINT }}:3306/webeye \
-e SPRING_DATASOURCE_USERNAME=${{ secrets.DB_USERNAME }} \
-e SPRING_DATASOURCE_PASSWORD=${{ secrets.DB_PASSWORD }} \
${{ secrets.DOCKER_USERNAME }}/webeye-server:latest
51 changes: 51 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### application.yml ###
application.yml

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/

### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride

### Gradle ###
.gradle
**/build/
!src/**/build/
6 changes: 6 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM openjdk:21-jdk-slim
WORKDIR /app
RUN ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime && \
echo "Asia/Seoul" > /etc/timezone
COPY build/libs/*.jar app.jar
CMD ["java", "-jar", "app.jar"]
77 changes: 77 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.3.10'
id 'io.spring.dependency-management' version '1.1.7'
}

group = 'com.webeye'
version = '0.0.1-SNAPSHOT'

java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
maven {
url 'https://repo.spring.io/snapshot'
name = 'Spring Snapshots'
mavenContent {
releasesOnly()
}
}
}

dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:2023.0.2"
mavenBom "org.springframework.ai:spring-ai-bom:1.0.0-M6"
}
}

dependencies {
runtimeOnly 'com.mysql:mysql-connector-j'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'

// swagger
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0'

// spring ai
implementation 'org.springframework.ai:spring-ai-openai-spring-boot-starter:1.0.0-M6'

// open feign
implementation 'org.springframework.cloud:spring-cloud-starter-openfeign'
}

tasks.named('test') {
useJUnitPlatform()
}

def generated = 'src/main/generated'

tasks.withType(JavaCompile).configureEach {
options.getGeneratedSourceOutputDirectory().set(file(generated))
}

sourceSets {
main.java.srcDirs += [ generated ]
}

clean {
delete file(generated)
}
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading