Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
acce9c0
Setting up GitHub Classroom Feedback
github-classroom[bot] Jan 7, 2025
f21c726
chore: init project
jin-jae Jan 9, 2025
3c3d289
docs: README
jin-jae Jan 10, 2025
6f42440
fix: README image
jin-jae Jan 10, 2025
56c047f
chore: github template
jin-jae Jan 11, 2025
90ec9e0
fix: project duration
jin-jae Jan 11, 2025
0ee936b
feat: first eda
ocean010315 Jan 15, 2025
800305e
add: project init
jin-jae Jan 16, 2025
860fd98
feat: chrome extension listener
jin-jae Jan 18, 2025
e639d0e
feat: chrome extension page
jin-jae Jan 19, 2025
3d9d0f7
feat: backend init
jin-jae Jan 19, 2025
5eddd12
feat: ImageToText
jin-jae Jan 19, 2025
b8a9963
feat: second eda
ocean010315 Jan 20, 2025
8c51a06
feat: Add qwen2_vl, maal model
ssunbear Jan 22, 2025
bc08496
feat: Add YOLO model and data
wjddms4299 Jan 23, 2025
c945b78
feat: image description
jin-jae Jan 24, 2025
fbe9dc5
add: size description README
jin-jae Jan 25, 2025
b1ff6d1
feat: Add OCR API and data
wjddms4299 Jan 25, 2025
8db7df9
feat: User
jin-jae Jan 26, 2025
d5b71e3
feat: Address
jin-jae Jan 26, 2025
865dadf
feat: Add product explanation text crawling code
minjijeong98 Jan 27, 2025
8f6e67e
feat: Add qunsloth_qwen2_vl model
ssunbear Jan 27, 2025
8807c05
feat: Inference with fewshot prompt
minjijeong98 Jan 27, 2025
2c01e08
feat: Category
jin-jae Jan 28, 2025
af755af
feat: CategoryAspect
jin-jae Jan 28, 2025
54ee456
feat: Add deepseekvl model
ssunbear Jan 28, 2025
a43cde1
feat: Fine-tune HCX model for production summarization
minjijeong98 Jan 28, 2025
cf8a46b
feat: Test Rule-Based
wjddms4299 Jan 29, 2025
1c80186
feat: Product
jin-jae Jan 29, 2025
db3103a
feat: Add main execution code
minjijeong98 Jan 29, 2025
684a8ad
feat: Description
jin-jae Jan 29, 2025
631ca8d
docs: Add README
minjijeong98 Jan 30, 2025
a681872
feat: Fine-Tune DeepSeek-R1-Distill-Qwen-14B
ocean010315 Jan 31, 2025
97ff6d7
feat: Fine-Tune DeepSeek-R1-Distill-Qwen-14B
ocean010315 Jan 31, 2025
ff81fcc
feat: Cart
jin-jae Jan 31, 2025
3a6886d
feat: Payment
jin-jae Jan 31, 2025
e800458
feat: Order
jin-jae Jan 31, 2025
5586e90
feat: OrderItem
jin-jae Jan 31, 2025
1f07082
feat: Add janus_pro model
ssunbear Jan 31, 2025
c255524
feat: ProductRank
jin-jae Jan 31, 2025
9046e92
feat: Review
jin-jae Jan 31, 2025
7f16eb1
fix: ImageToText response DTO
jin-jae Feb 1, 2025
c7d9756
feat: (front) init project
jin-jae Feb 1, 2025
7565b67
feat: (front) Category
jin-jae Feb 1, 2025
f80b7e4
feat: Add qwen2_5_vl model
ssunbear Feb 1, 2025
f0b2fd7
feat: (front) Product
jin-jae Feb 2, 2025
e1fdbfb
feat: (front) Cart, Image Thumbnail
jin-jae Feb 2, 2025
779eae8
feat: (front) Payment, Mypage
jin-jae Feb 2, 2025
b363e3b
feat: Add qwen2.5 Post Processing
ssunbear Feb 3, 2025
5d207ab
feat: Add utils codes, HCX model, prompts
wjddms4299 Feb 3, 2025
08be699
feat: Add Keyword Recommendation, Review Summarization
ocean010315 Feb 5, 2025
467b1ac
feat: Add Janus-Pro Post Processing
ssunbear Feb 5, 2025
8631157
feat: Add Evaluation, Finalize Thumbnail Description
ssunbear Feb 6, 2025
16fe37e
feat: Add main.py, environment.yml, README.md
wjddms4299 Feb 7, 2025
547488b
feat: Add Final Pipeline
gwaksital Feb 8, 2025
fc939bf
Merge pull request #3 from boostcampaitech7/feat/COMPANY-11-basic-demo
jin-jae Feb 8, 2025
e087d8a
Merge pull request #3 from boostcampaitech7/feat/COMPANY-11-basic-demo
jin-jae Feb 8, 2025
11ba1ec
Merge pull request #5 from boostcampaitech7/feat/COMPANY-28-applicati…
jin-jae Feb 8, 2025
b740199
Merge pull request #5 from boostcampaitech7/feat/COMPANY-28-applicati…
jin-jae Feb 8, 2025
a9d26d5
feat: Add Finetuning code and refactor code
ssunbear Feb 8, 2025
31af502
refactor: file name convention
jin-jae Feb 9, 2025
8eda6f1
fix: application properties with env
jin-jae Feb 9, 2025
26a0ab5
Merge pull request #6 from boostcampaitech7/feat/COMPANY-28-applicati…
jin-jae Feb 9, 2025
5883af5
Merge pull request #6 from boostcampaitech7/feat/COMPANY-28-applicati…
jin-jae Feb 9, 2025
3c136ca
Merge pull request #7 from boostcampaitech7/develop
jin-jae Feb 9, 2025
2225d96
chore: project directory
jin-jae Feb 9, 2025
9e50473
chore: project directory
jin-jae Feb 9, 2025
d8a3032
feat: Add product explanation text crawling code
minjijeong98 Jan 27, 2025
7743371
feat: Inference with fewshot prompt
minjijeong98 Jan 27, 2025
88792c5
feat: Fine-tune HCX model for production summarization
minjijeong98 Jan 28, 2025
376dbf2
feat: Add main execution code
minjijeong98 Jan 29, 2025
e901979
docs: Add README
minjijeong98 Jan 30, 2025
1abfba2
feat:Fine-Tune DeepSeek-R1-Distill-Qwen
jin-jae Feb 10, 2025
40a7ca2
feat: Crawl review data and Update .gitignore .gitkeep
ocean010315 Jan 23, 2025
f8b4518
feat:Fine-Tune DeepSeek-R1-Distill-Qwen
jin-jae Feb 10, 2025
63f5e9d
feat: Crawl review data and Update .gitignore .gitkeep
ocean010315 Jan 23, 2025
a0ea2aa
feat: Add Keyword Recommendation, Review Summarization
ocean010315 Feb 5, 2025
9ae2158
feat: Add Final Pipeline
gwaksital Feb 8, 2025
9a4e58d
Merge pull request #9 from boostcampaitech7/COMPANY-27-4-4.-review
jin-jae Feb 10, 2025
2df4dca
Merge pull request #9 from boostcampaitech7/COMPANY-27-4-4.-review
jin-jae Feb 10, 2025
3f76aaa
chore: Add .gitkeep
ssunbear Feb 10, 2025
2c55c1f
Update README.md
ssunbear Feb 10, 2025
80b82c7
Merge branch 'develop' into feat/COMPANY-22-4-1.-thumbnail-description
jin-jae Feb 10, 2025
a552b16
Merge pull request #10 from boostcampaitech7/COMPANY-33-4-5.-product_…
jin-jae Feb 10, 2025
37c00f7
feat: Add Preprocessing Files
wjddms4299 Jan 20, 2025
145e397
Merge pull request #10 from boostcampaitech7/COMPANY-33-4-5.-product_…
jin-jae Feb 10, 2025
a263360
feat: Add enviroment setting file
minjijeong98 Feb 11, 2025
21f2134
Merge pull request #13 from boostcampaitech7/feat/COMPANY-33-4-5.-pro…
minjijeong98 Feb 11, 2025
08db31f
feat: data crawling
ocean010315 Feb 11, 2025
318832d
docs: README
ocean010315 Feb 11, 2025
c7cfa80
rename: dir name data -> eda
ocean010315 Feb 11, 2025
2226744
Merge pull request #12 from boostcampaitech7/feat/COMPANY-8-3.-EDA
ocean010315 Feb 11, 2025
d396df2
Delete README.md
ssunbear Feb 11, 2025
620b6a0
Update README.md
ssunbear Feb 11, 2025
5b24d4d
Merge pull request #14 from boostcampaitech7/feat/COMPANY-22-4-1.-thu…
jin-jae Feb 11, 2025
05b3bfe
chore: modify .gitignore
wjddms4299 Feb 11, 2025
5907fa3
Merge branch 'develop' into feat/COMPANY-26-4-3.-nutrition-ingredient…
jin-jae Feb 11, 2025
a0b8279
Merge pull request #17 from boostcampaitech7/feat/COMPANY-26-4-3.-nut…
jin-jae Feb 11, 2025
b54ecc7
Merge pull request #16 from boostcampaitech7/feat/COMPANY-22-4-1.-thu…
wjddms4299 Feb 11, 2025
d9292fa
Merge pull request #18 from boostcampaitech7/feat/COMPANY-25-4-2.size…
jin-jae Feb 11, 2025
ce5f348
Merge pull request #19 from boostcampaitech7/develop
jin-jae Feb 11, 2025
c0188ca
feat: product now have thumbnail caption short
jin-jae Feb 14, 2025
9e5b8b4
add: thumbnail short version text
jin-jae Feb 14, 2025
af97336
add: android icons
jin-jae Feb 14, 2025
5906e6e
Merge branch 'develop' of github.com:boostcampaitech7/level4-nlp-fina…
jin-jae Feb 14, 2025
e7fc99a
Add wrap up report and presentation material
ssunbear Feb 17, 2025
3fb527b
Update README.md
ssunbear Feb 18, 2025
9cfc64a
Update README.md
ocean010315 Feb 18, 2025
296f5a8
docs: README
ocean010315 Feb 18, 2025
9d315c3
Update README.md
gwaksital Feb 18, 2025
c0f0582
Update README.md
gwaksital Feb 18, 2025
8ce697f
Update README.md
ocean010315 Feb 18, 2025
3d41690
Add files via upload
gwaksital Feb 18, 2025
3286b74
Delete doc/NLP_5조_네이버 클라우드_푸드리 (1).pdf
gwaksital Feb 18, 2025
3dbc044
Delete doc/NLP_5조_네이버 클라우드_푸드리 (1).pdf
gwaksital Feb 18, 2025
9e56a4f
Delete doc/네이버클라우드_NLP_팀 리포트(05조) (1).pdf
gwaksital Feb 18, 2025
a117014
Delete doc/네이버클라우드_NLP_팀 리포트(05조) (1).pdf
gwaksital Feb 18, 2025
accc520
Update README.md
gwaksital Feb 18, 2025
a77a5ac
Add project timeline image
minjijeong98 Feb 18, 2025
ba43659
docs: Change timeline image
minjijeong98 Feb 18, 2025
381e824
Add thumbnail description pipeline image
ssunbear Feb 19, 2025
391e764
Update README.md
ssunbear Feb 20, 2025
d795bcf
Update README.md
ssunbear Feb 20, 2025
a90ad21
add: package-lock update
jin-jae Mar 5, 2025
8cd7171
Merge pull request #20 from boostcampaitech7/develop
jin-jae Mar 5, 2025
a766825
fix: README instruction details
jin-jae Mar 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: "🐞 Bug"
description: "버그 제보"
labels: "bug"
body:
- type: markdown
attributes:
value: |
## 🐛 버그 제보
- 발견한 버그에 대한 상세 정보를 제공해주세요.
- 관련 스크린샷을 첨부하면 더욱 빠른 해결이 가능합니다.

- type: textarea
attributes:
label: "📄 설명"
description: "발견한 버그에 대한 설명을 작성해주세요."
placeholder: "어디에서 문제가 발생했는지 설명해주세요."
validations:
required: true

- type: textarea
attributes:
label: "📸 스크린샷 / 로그"
description: "관련된 스크린샷 또는 콘솔 에러 로그를 첨부해주세요."
placeholder: "스크린샷 또는 콘솔 에러"

- type: textarea
attributes:
label: "💻 환경 정보"
description: "버그가 발생한 환경을 작성해주세요."
placeholder: "사용한 서버나 기기를 작성해주세요."

- type: textarea
attributes:
label: "📎 참고"
description: "참고할 자료가 있다면 링크 또는 자료를 첨부해주세요."
placeholder: "https://example.com"

- type: markdown
attributes:
value: |
---
이상입니다.
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: "🚀 Feature"
description: "새로운 기능을 제안 또는 요청"
labels: ["feature", "enhancement"]
body:
- type: markdown
attributes:
value: |
## 📌 기능 요청
- 새로운 기능을 제안하는 경우 아래 내용을 작성해주세요.

- type: textarea
attributes:
label: "📄 설명"
description: "기능에 대한 설명을 작성해 주세요."
placeholder: "설명에는 기능의 필요성, 목적, 예상 효과 등을 작성해주세요."
validations:
required: true

- type: textarea
attributes:
label: "✅ 작업"
description: "구체적인 작업을 작성해주세요."
placeholder: |
- [ ] 구체적인 작업 내용
value: "- [ ] "
validations:
required: true

- type: textarea
attributes:
label: "📎 참고"
description: "참고할 자료가 있다면 링크 또는 자료를 첨부해주세요."
placeholder: "https://example.com"

- type: markdown
attributes:
value: |
---
이상입니다.
7 changes: 7 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## 💽 요약


## 💻 작업 내용


## 📎 Issue 번호
19 changes: 19 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# models
models/final_outputs
models/product_summarization/config/config_v1.yaml
models/product_summarization/data/*

# demo
.env
back/env.sh

# files
*.csv
*.npy
__pycache__

# api file
config_api_key.yaml

# macOS
.DS_Store
177 changes: 177 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
<div align='center'>

# [Lv. 4] 기업연계해커톤 - 네이버 클라우드

## 🛍️ Foodly (시각장애인을 위한 식료품 쇼핑 서비스)

<img width="960" alt="image" src="https://github.com/user-attachments/assets/7dea288d-9732-4243-a168-71902bc381eb" />


</div>

## 🏃 프로젝트 설명

### 🖥️ 프로젝트 개요

<div align="center">
<video src="https://github.com/user-attachments/assets/f3d49d22-9435-4986-b9e4-7ae6aaaec744" width="200" autoplay loop muted></video>
</div>

| 특징    | 설명 |
|:-------:| --- |
| 주제 | 시각장애인을 위한 온라인 식료품 쇼핑 지원 서비스입니다. |
| 문제 정의 | 온라인 쇼핑은 대부분의 사람들에게 편리한 과정이지만, 시각장애인에게는 화면의 모든 내용을 음성으로 듣고 정보를 찾는 데 많은 시간이 필요합니다. 특히, 상품의 성분/영양 정보와 알레르기 정보 등 이미지로 제공되는 정보를 확인하는 과정에서 어려움을 겪고 있습니다. |
| 기능 | - 상품 대표 이미지(썸네일)를 텍스트로 변환하여 전달 <br> - 상품의 크기 정보, 보관법, 성분/영양 정보 등의 상세 정보를 직관적인 텍스트로 제공 <br> - 리뷰 긍·부정 의견 요약, 키워드 기반 상품 추천 시스템 개발 |
| 결과물 | [WrapUp Report](https://github.com/boostcampaitech7/level4-nlp-finalproject-hackathon-nlp-05-lv3/blob/main/doc/Foodly_Wrap-Up_Report.pdf), [Presentation Material](https://github.com/boostcampaitech7/level4-nlp-finalproject-hackathon-nlp-05-lv3/blob/main/doc/Foodly_Presentation.pdf) |

<br>

### 💡 전체 파이프라인
<img width="960" alt="image" src="https://github.com/user-attachments/assets/4aea48ee-382d-421c-8afc-30ca42bcc03d" />


### ✅ 시각장애인 7분의 푸드리 사용성 평가
<img width="960" alt="스크린샷 2025-02-18 오후 9 01 07" src="https://github.com/user-attachments/assets/d2c5f581-cb94-4490-b67c-b10699121377" />


<br>

<br>

## 🐟 "나야, 자, 연어"팀 멤버 소개
| 곽희준&nbsp; [<picture><source media="(prefers-color-scheme: light)" srcset="./doc/image/github_dark.png" /><source media="(prefers-color-scheme: dark)" srcset="./doc/image/github_light.png" /><img src="./doc/image/github_dark.png" height="20" /></picture>](https://github.com/gwaksital) | 김정은&nbsp; [<picture><source media="(prefers-color-scheme: light)" srcset="./doc/image/github_dark.png" /><source media="(prefers-color-scheme: dark)" srcset="./doc/image/github_light.png" /><img src="./doc/image/github_dark.png" height="20" /></picture>](https://github.com/wjddms4299) | 김진재&nbsp; [<picture><source media="(prefers-color-scheme: light)" srcset="./doc/image/github_dark.png" /><source media="(prefers-color-scheme: dark)" srcset="./doc/image/github_light.png" /><img src="./doc/image/github_dark.png" height="20" /></picture>](https://github.com/jin-jae) | 오수현&nbsp; [<picture><source media="(prefers-color-scheme: light)" srcset="./doc/image/github_dark.png" /><source media="(prefers-color-scheme: dark)" srcset="./doc/image/github_light.png" /><img src="./doc/image/github_dark.png" height="20" /></picture>](https://github.com/ocean010315) | 윤선웅&nbsp; [<picture><source media="(prefers-color-scheme: light)" srcset="./doc/image/github_dark.png" /><source media="(prefers-color-scheme: dark)" srcset="./doc/image/github_light.png" /><img src="./doc/image/github_dark.png" height="20" /></picture>](https://github.com/ssunbear) | 정민지&nbsp; [<picture><source media="(prefers-color-scheme: light)" srcset="./doc/image/github_dark.png" /><source media="(prefers-color-scheme: dark)" srcset="./doc/image/github_light.png" /><img src="./doc/image/github_dark.png" height="20" /></picture>](https://github.com/minjijeong98)
|:-:|:-:|:-:|:-:|:-:|:-:|
| ![곽희준](https://avatars.githubusercontent.com/u/80732503) | ![김정은](https://avatars.githubusercontent.com/u/121777522) | ![김진재](https://avatars.githubusercontent.com/u/97018331) | ![오수현](https://avatars.githubusercontent.com/u/91974779) | ![윤선웅](https://avatars.githubusercontent.com/u/117508164) | ![정민지](https://avatars.githubusercontent.com/u/162319450) |

<br>

## 🧑🏻‍💻 역할 분담
| 팀원  | 역할 |
|:--------:| -------------- |
| 곽희준 | 리뷰 요약 및 키워드 추출 - ASTE(파이프라인 설계, 데이터 엔지니어링, Metric 선정), Clustering을 통한 추천 키워드 포함 검색과 리뷰 요약 |
| 김정은 | 성분/영양 정보 추출 - YOLO11 SFT, CLOVA OCR output 후처리, Rule-based 방식 적용 실험, HCX Fine-Tuning, 평가 Metric 선정 |
| 김진재 | 크기 정보 묘사, 리뷰 요약 및 키워드 추출, 앱 개발 - 프로젝트 매니징, YOLO11 SFT, Rule-based 후처리, ASTE(HCX/DeepSeek Prompt Engineering, DeepSeek SFT), React Native, React (Chrome Extension) Spring Framework 개발 |
| 오수현 | 리뷰 요약 및 키워드 추출 - ASTE(HCX/DeepSeek Prompt Engineering, DeepSeek SFT), Clustering을 통한 추천 키워드 포함 검색과 리뷰 요약 |
| 윤선웅 | 대표 이미지 설명 생성 - Janus Pro Fine-Tuning, HCX 후처리(요약, 번역, Hallucination 제거), 1376개 대표 이미지 골드라벨 추출, VLM 평가 metric 설계 |
| 정민지 | 상품 설명 요약, 성분/영양 정보 추출 - 상품 설명 요약 HCX Fine-Tuning, 성분/영양 정보 평가 metric 설계 및 golden label 생성, OCR과 LLM을 활용한 성분/영양 정보 추출 로직 설계 및 실험 |

<br>

## 📅 프로젝트 타임라인

- 프로젝트 기간은 2025-01-10 ~ 2025-02-10입니다.

![Foodly 타임라인](doc/image/foodly_timeline.png)

<br>

### 📁 프로젝트 구조

프로젝트 폴더 구조는 아래와 같습니다.

```
.
|-- README.md
|-- back
| |-- build.gradle # 백엔드 빌드 설정
| |-- docker-compose.yml # Docker 설정 파일
| |-- gradle # Gradle 설정 및 wrapper 파일
| |-- gradlew # Gradle 실행 스크립트 (Linux/Mac)
| |-- gradlew.bat # Gradle 실행 스크립트 (Windows)
| |-- settings.gradle # 모듈 설정 파일
| `-- src # 백엔드 소스 코드
|-- doc
| |-- image # 프로젝트 관련 이미지 자료 (다이어그램, 스크린샷 등)
| `-- ...pdf # 프로젝트 발표 자료, 보고서 문서
|-- eda
| |-- README.md # EDA 모듈 개요 및 실행 가이드
| |-- eda1_visualize.ipynb # 데이터 시각화 Notebook (EDA 단계1)
| |-- eda2_visualize.ipynb # 데이터 시각화 Notebook (EDA 단계2)
| `-- product_crawling.py # 제품 데이터 크롤링 스크립트
|-- front
| |-- chrome_extension # 크롬 확장 프로그램 관련 프론트엔드 코드
| `-- foodly_application # Foodly 애플리케이션 (모바일/웹) 관련 코드, Node.js 기반
`-- models
|-- final_outputs # 모델 실행 후 생성된 최종 데이터
|-- nutrition_ingredients_information # 성분/영양 정보
| |-- README.md # 모듈 개요 및 실행 가이드
| `-- main.py, prompt, src 등
|-- product_summarization # 상품 상세정보 요약
| |-- README.md # 모듈 개요 및 실행 가이드
| |-- main.py, prompt, src 등
|-- review # 리뷰 요약 및 추천 키워드별 상품 재정렬
| |-- README.md # 모듈 개요 및 실행 가이드
| |-- prompt, src, utils 등
|-- size_description # 상품 크기 정보 추출
| |-- README.md # 모듈 개요 및 실행 가이드
| |-- src, data, size_info.yaml 등
`-- thumbnail_description # 썸네일 이미지 설명
|-- README.md # 모듈 개요 및 실행 가이드
`-- main.py, prompt, src, utils 등

```

<br>

## 💾 프로젝트 설치 및 실행
본 프로젝트는 AI를 포함하여 프론트엔드, 백엔드 실행 방법이 각각 별도로 존재합니다. 상세 실행 방법은 해당 폴더 내의 `README.md`에서도 확인할 수 있습니다. 아래는 각 파트의 주요 실행 방법 안내입니다.

### models (모델 관련 모듈)

모델 관련 모듈은 총 5개가 있으며, 각 모델 모듈은 독립적인 Python 실행 환경을 요구합니다.

- `nutrition_ingredients_information/` (성분/영양 정보)
- `product_summarization/` (상품 상세정보 요약)
- `review/` (리뷰 요약 및 추천 키워드별 상품 재정렬)
- `size_description/` (상품 크기 정보)
- `thumbnail_description/` (썸네일 이미지)

**실행:**
- `environment.yml` 파일을 활용해 Conda 환경을 구성합니다.
- `python main.py` 명령어로 관련 스크립트를 실행합니다.

> **주의:** 각 모듈의 구체적인 설치 및 실행 방법은 해당 모듈 내 README나 환경 설정 파일을 참고하시기 바랍니다.

### eda (데이터 탐색/분석)

**설치:**
- Python 가상환경(예: Conda)을 구성하고, 필요 패키지를 설치합니다. (`eda/environment.yml` 파일 참고)

**실행:**
- Jupyter Notebook을 실행하여 `eda1_visualize.ipynb`와 `eda2_visualize.ipynb` 파일을 확인합니다.
- `python product_crawling.py` 명령어로 크롤링 스크립트를 실행할 수 있습니다.

**참고:** 상세 가이드는 `eda/README.md`를 참고하세요.

### frontend (크롬 확장 프로그램/애플리케이션)

#### chrome_extension

**설치:**
- `npm install`로 라이브러리를 설치합니다.

**실행:**
- `npm build`로 프로젝트를 build합니다.
- 크롬 브라우저에서 '압축 해제된 확장 프로그램'으로 `front/chrome_extension/dist`를 로드하면 설치 및 사용이 가능합니다.

#### foodly_application

**설치:**
- Node.js 기반으로, `npm install`로 의존성을 설치합니다.
- React Native (iOS, Android Application)를 개발할 수 있는 환경이 설정되어 있어야 합니다. 자세한 환경설정은 [여기](https://reactnative.dev/docs/set-up-your-environment)를 참고해주세요.
- (iOS) `cd front/chrome_extension/ios && pod install`을 이용하여 의존성을 설치합니다.

**실행:**
- (iOS) `npm run ios`로 실행합니다.
- (Android) `npm run android`로 실행합니다.


### backend (서버)

**설치:**
- `docker-compose.yml`을 참고하여 데이터베이스를 저장하는 mySQL을 실행합니다.

**실행:**
- `./gradlew bootRun` 명령어로 백엔드 서버를 실행합니다.

**참고:** 자세한 내용은 `back/README.md`를 확인하세요.
3 changes: 3 additions & 0 deletions back/.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
37 changes: 37 additions & 0 deletions back/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### 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/
39 changes: 39 additions & 0 deletions back/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.4.1'
id 'io.spring.dependency-management' version '1.1.7'
}

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

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

repositories {
mavenCentral()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-configuration-processor'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-validation'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
implementation 'org.mapstruct:mapstruct:1.6.3'
annotationProcessor 'org.mapstruct:mapstruct-processor:1.6.3'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.mysql:mysql-connector-j'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

tasks.named('test') {
useJUnitPlatform()
}
14 changes: 14 additions & 0 deletions back/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
services:
mysql:
image: mysql:8-oracle
container_name: foodly_db
ports:
- "3308:3306"
environment:
MYSQL_ROOT_PASSWORD: "nlp_ai_shopper_T734"
MYSQL_DATABASE: foodly
volumes:
- db_data:/var/lib/mysql

volumes:
db_data:
Binary file added back/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions back/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.11.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading