Skip to content

EWHA-CAPSTONE-COOKSAVE/cooksave-webview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

์ฟก์„ธ์ด๋ธŒ (COOK-SAVE)

์‹์žฌ๋ฃŒ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•œ 1์ธ ๊ฐ€๊ตฌ์˜ ์‹๋น„ ์ ˆ๊ฐ ์ง€์› ์›น์•ฑ ์„œ๋น„์Šค
https://www.cooksave.co.kr/

๐Ÿ’š ๊ธฐ๋Šฅ ์†Œ๊ฐœ

010 011 012 013 014 015

๐Ÿ’š Architecture

016

BE FE AI
- Spring Boot
- MySQL
- EC2
- RDS
- ELB
- TypeScript + React
- Recoil
- Axios
- react-router-dom
- styled-components
- flask
- yolov8
- opencv
- tencent-cloud

๐Ÿ’š ABOUT SOURCE CODE

FE

src/assets - ์ด๋ฏธ์ง€ ํŒŒ์ผ ๋ชจ์Œ
src/components - UI ์ปดํฌ๋„ŒํŠธ ๋ชจ์Œ
src/pages - ํ™”๋ฉด๋ณ„ ๋ ˆ์ด์•„์›ƒ ๋ชจ์Œ
src/router - ๋น„๋กœ๊ทธ์ธ ์œ ์ € ์ ‘๊ทผ ์ œํ•œ ๋“ฑ์˜ ๋ผ์šฐํŒ… ๊ด€๋ จ ์ฝ”๋“œ
src/services/api - API ์š”์ฒญ ํ•จ์ˆ˜ ๋ชจ์Œ
src/services/store - Recoil ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ ํ•จ์ˆ˜ ๋ชจ์Œ
src/style - ๊ธ€๋กœ๋ฒŒ ์Šคํƒ€์ผ ๋ฐ CSS ๊ธฐ๋ณธ ์„ค์ •
src/type - ์˜ค๋ธŒ์ ํŠธ ๋ณ„ ํƒ€์ž… ์ง€์ •

BE

scripts - ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ
src/main/java/CookSave/CookSaveback/Heart - ๋ ˆ์‹œํ”ผ ์ €์žฅ ๊ธฐ๋Šฅ ์ฝ”๋“œ
src/main/java/CookSave/CookSaveback/History - ์š”๋ฆฌ ๋‚ด์—ญ ๊ด€๋ จ ๊ธฐ๋Šฅ ์ฝ”๋“œ
src/main/java/CookSave/CookSaveback/HistoryIngredient - ์š”๋ฆฌ ๋‚ด์—ญ์˜ ์žฌ๋ฃŒ ๊ด€๋ จ ๊ธฐ๋Šฅ ์ฝ”๋“œ
src/main/java/CookSave/CookSaveback/Ingredient - ์žฌ๋ฃŒ ๊ด€๋ จ ๊ธฐ๋Šฅ ์ฝ”๋“œ
src/main/java/CookSave/CookSaveback/Member - ํšŒ์› ๊ด€๋ จ ๊ธฐ๋Šฅ ์ฝ”๋“œ
src/main/java/CookSave/CookSaveback/Recipe - ๋ ˆ์‹œํ”ผ ๊ด€๋ จ ๊ธฐ๋Šฅ ์ฝ”๋“œ
src/main/java/CookSave/CookSaveback/RecipeTag - ๋ ˆ์‹œํ”ผ ์žฌ๋ฃŒ ํƒœ๊ทธ ๊ด€๋ จ ์ฝ”๋“œ
src/main/java/CookSave/CookSaveback/Tag - ์žฌ๋ฃŒ ํƒœ๊ทธ ๊ด€๋ จ ์ฝ”๋“œ
src/main/java/CookSave/CookSaveback/global - ๊ธฐ๋Šฅ์—์„œ ์ฐธ๊ณ ํ•˜๋Š” ์ฝ”๋“œ
src/main/java/CookSave/CookSaveback/utils - jwt ๊ด€๋ จ ์ฝ”๋“œ

AI

weights/ - best weight checkpoints์ด ์ €์žฅ๋˜๋Š” ํด๋”
app.py - flask sever์— ๋Œ€ํ•œ ์ฝ”๋“œ
requirement.txt - pip install๋กœ ์„ค์น˜ํ•ด์•ผํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชจ์Œ
train.py - ๋ชจ๋ธ ํ•™์Šต ์ฝ”๋“œ
uwsgi - flask server connection์„ ์œ„ํ•œ ์ฝ”๋“œ
yolov8n.pt - pre-trained model

web-view

์•ˆ๋“œ๋กœ์ด๋“œ ์›น๋ทฐ๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„ํ•œ ์›น์„ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๋‚ด์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
app/src/main/java/com/example/cooksave_webview/MainActivity.kt - ๋””๋ฐ”์ด์Šค๋กœ๋ถ€ํ„ฐ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ, ๋ฉ”ํƒ€ํƒœ๊ทธ, ๋กœ์ปฌ ์ €์žฅ์†Œ ํ—ˆ์šฉ ๋“ฑ ๊ด€๋ จ ์ฝ”๋“œ

๐Ÿ’š HOW TO BUILD

1. ํ”„๋ก ํŠธ์—”๋“œ repo

  • git clone https://github.com/EWHA-CAPSTONE-COOKSAVE/cooksave-front ์œผ๋กœ ํ”„๋กœ์ ํŠธ ํด๋”๋ฅผ ๋กœ์ปฌ์— ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์šด๋ฐ›์€ ํด๋”๋ฅผ ์—๋””ํ„ฐ์—์„œ ์—ด๊ณ , npm i ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • npm start๋กœ ๋กœ์ปฌ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

2. ๋ฐฑ์—”๋“œ repo

  • git clone https://github.com/EWHA-CAPSTONE-COOKSAVE/cooksave-back ์œผ๋กœ ํ”„๋กœ์ ํŠธ ํด๋”๋ฅผ ๋กœ์ปฌ์— ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ํด๋”์˜ build.gradle ํŒŒ์ผ์„ ์—๋””ํ„ฐ์—์„œ ์—ด๊ณ  build ํ•˜์—ฌ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ application.yml ํŒŒ์ผ์— ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • run์œผ๋กœ ๋กœ์ปฌ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

3. AI repo

[GPU ์‚ฌ์šฉ ์‹œ]

(1) ๊ฐ€์ƒํ™˜๊ฒฝ ์„ธํŒ…
cd {๊ฐ€์ƒํ™˜๊ฒฝ์„ ์„ค์น˜ํ•  ๊ฒฝ๋กœ}
python -m venv {๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„}
source ./venv/bin/activate

(2) ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜
pip install requirement.txt

(3) ๋ฐ์ดํ„ฐ ์…‹ ๋‹ค์šด๋กœ๋“œ
(recommended) roboflow์—์„œ costom data ์ œ์ž‘ ํ›„ yolo format์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

(4) ๋ชจ๋ธ ํ•™์Šต ์ง„ํ–‰
python train.py

(5) AI flask server ์‹คํ–‰
python app.py

4. ํ”„๋ก ํŠธ์—”๋“œ ์•ˆ๋“œ๋กœ์ด๋“œ ์›น๋ทฐ repo

  • git clone https://github.com/EWHA-CAPSTONE-COOKSAVE/cooksave-webview ์œผ๋กœ ํ”„๋กœ์ ํŠธ ํด๋”๋ฅผ ๋กœ์ปฌ์— ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ๋‹ค์šด ๋ฐ›์€ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์„ ์—ฝ๋‹ˆ๋‹ค.
  • Run 'app' ๋ฒ„ํŠผ์„ ํ†ตํ•ด ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’š HOW TO INSTALL

์›น ์‚ฌ์šฉ ์‹œ

ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น์•ฑ ์‚ฌ์šฉ ์‹œ

  • iOS - ๋ธŒ๋ผ์šฐ์ €์—์„œ https://www.cooksave.co.kr/ ์— ์ ‘์†ํ•œ ๋’ค 'ํ™ˆํ™”๋ฉด์— ์ถ”๊ฐ€'๋ฅผ ๋ˆ„๋ฅด๋ฉด ์•ฑ์œผ๋กœ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.
  • And - ๋ธŒ๋ผ์šฐ์ €์—์„œ https://www.cooksave.co.kr/ ์— ์ ‘์†ํ•œ ๋’ค '์„ค์น˜'๋ฅผ ๋ˆ„๋ฅด๋ฉด ์•ฑ์œผ๋กœ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.

์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ์‚ฌ์šฉ ์‹œ

  • APK ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์•ˆ๋“œ๋กœ์ด๋“œ ๋””๋ฐ”์ด์Šค์— ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’š HOW TO TEST

์œ„์˜ ํ™˜๊ฒฝ ์„ค์น˜๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ•œ๋’ค, ํ…Œ์ŠคํŠธ ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.
ID: cookingmama PW: 1234
์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ์„œ๋น„์Šค ์‚ฌ์šฉ ์„ค๋ช…์„œ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ๊ฐ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•ด๋ด…๋‹ˆ๋‹ค. 123

๐Ÿ’š DESCRIPTION OF SAMPLE DATA

image
์ €ํฌ๋Š” ์ง์ ‘ ์‹์žฌ๋ฃŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๊ธ€ ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰ ๋ฐ ๋Œ€ํ˜• ์˜จ๋ผ์ธ ๋ชฐ์—์„œ ํฌ๋กค๋งํ•˜์—ฌ ์ œ์ž‘ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
20๊ฐ€์ง€์˜ ์‹์žฌ๋ฃŒ๋ฅผ 100์žฅ์”ฉ ํฌ๋กค๋ง ํ•œ ํ›„ flip, 90 rotate, shear ๋“ฑ์˜ data augmentation์„ ํ†ตํ•ด ์ „์ฒด 20,000์žฅ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฆ๊ฐ•์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.
image sample data๋กœ ์–‘ํŒŒ์™€ ๋‹น๊ทผ์ด ํ•จ๊ป˜ ์žˆ๋Š” ์‚ฌ์ง„์„ input์œผ๋กœ ์ฃผ์—ˆ์„ ๋•Œ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž˜ ์ธ์‹๋จ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’š DESCRIPTION OF OPEN SOURCE

1. Object Detection

๐Ÿš€Yolo Model Github image

YOLO(You Only Look Once) ๋ชจ๋ธ์€ ๊ฐ์ฒด ํƒ์ง€๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์œ ๋ช…ํ•œ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ๋กœ, ๋งค์šฐ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ์ด๋ฏธ์ง€๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. YOLO ๋ชจ๋ธ์€ ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค:

  1. End-to-End ํ•™์Šต: YOLO๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๋‹จ ํ•œ ๋ฒˆ์˜ ์ „๋ฐฉ ํŒจ์Šค๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด๋ฅผ ํƒ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค๋ฅธ ๊ฐ์ฒด ํƒ์ง€ ๋ชจ๋ธ๋“ค๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ๋งค์šฐ ๋น ๋ฅด๋ฉฐ, ์‹ค์‹œ๊ฐ„ ๊ฐ์ฒด ํƒ์ง€์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  2. ์ „์ฒด ์ด๋ฏธ์ง€ ๊ณ ๋ ค: YOLO๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ „์ฒด์ ์œผ๋กœ ๋ณด๊ณ  ์˜ˆ์ธก์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ๋งฅ์„ ์ž˜ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ž‘์€ ๊ฐ์ฒด๋ฅผ ํƒ์ง€ํ•˜๋Š” ๋ฐ ์œ ๋ฆฌํ•˜๋ฉฐ, ๊ฐ์ฒด ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ๋” ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ๋‹จ์ผ ์‹ ๊ฒฝ๋ง: YOLO๋Š” ๋‹จ์ผ ์‹ ๊ฒฝ๋ง์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฝ๊ณ„ ์ƒ์ž์™€ ํด๋ž˜์Šค ํ™•๋ฅ ์„ ๋™์‹œ์— ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ชจ๋ธ์ด ๊ฐ„๋‹จํ•˜๊ณ  ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

์ €ํฌ๋Š” ๊ทธ ์ค‘ yolov5์™€ yolov8 ๋ชจ๋ธ์„ custom dataset ๋น„๊ต ํ•™์Šต์„ ์ง„ํ–‰ํ•˜์˜€๊ณ , ํ•™์Šต ์†๋„์™€ ์ •ํ™•๋„๊ฐ€ ๋” ๋†’์€ ๋ฒ„์ „ 8๋กœ ์‹์žฌ๋ฃŒ ์ธ์‹ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜์˜€์Šต๋‹ˆ๋‹ค.

2. OCR

๐Ÿ€Naver Clova AI image

๋„ค์ด๋ฒ„ ํด๋กœ๋ฐ” ์˜์ˆ˜์ฆ ๋ชจ๋ธ์€ ์˜์ˆ˜์ฆ์˜ ์œ ํ˜•๊ณผ ํŒจํ„ด์„ ์ž๋™ ๋ถ„์„ํ•˜์—ฌ ๋งค์žฅ ์ •๋ณด, ๊ฒฐ์ œ ๋‚ด์—ญ, ์ง€๋ถˆ ๋ฐฉ์‹ ๋“ฑ ์˜์ˆ˜์ฆ์˜ ๊ธฐ์žฌ๋œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.
ํด๋กœ๋ฐ” ocr ๋ชจ๋ธ ์ด์™ธ์—๋„ easyocr, tesseractocr ๋“ฑ ๋‹ค์–‘ํ•œ ocr ๋ชจ๋ธ์„ ๋น„๊ตํ•˜์˜€๊ณ  ํ•œ๊ตญ์–ด์— ๋†’์€ ์ •ํ™•๋„๋ฅผ ๋ณด์ด๋Š” ๋„ค์ด๋ฒ„ ํด๋กœ๋ฐ” OCR์„ ์„ ํƒํ•˜์—ฌ ์˜์ˆ˜์ฆ ๋ฐ ๊ตฌ๋งค๋‚ด์—ญ ์ธ์‹ ์‹์žฌ๋ฃŒ ๋“ฑ๋ก ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜์˜€์Šต๋‹ˆ๋‹ค.


๐Ÿ’š ํŒ€์› ์†Œ๊ฐœ

BE FE & DESIGN AI
์ฐจ์†Œ์—ฐ ์†ก์ง€๋ฏผ ์ตœ์˜ˆ์€
Soyeon-Cha songing01 yenncye

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages