yuiseo / VeggieMeal

๐Ÿ“ˆ๋ฌผ๊ฐ€ ์ •๋ณด ๋ฐ ์ฑ„์‹ ๋ ˆ์‹œํ”ผ ๐Ÿฅ—์ œ๊ณต ํ”Œ๋žซํผ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

๋น…๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ ํ”„๋กœ์ ํŠธ - VeggieMeal


๐Ÿ“‘ ๋ชฉ์ฐจ



1.์†Œ๊ฐœ

VeggieMeal์€ '์ฑ„์‹์ฃผ์˜์ž'๋ž€ 'Veggie'์™€ '์‹์‚ฌ'๋ผ๋Š” ๋œป์˜ 'Meal'์ด ํ•ฉ์ณ์ง„ ์šฉ์–ด์ž…๋‹ˆ๋‹ค. ๋ณธ ์„œ๋น„์Šค๋Š” ์ฑ„์‹์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ฑ์„ ๋†’์ด๊ณ  ๊ด€๋ จ ์žฌ๋ฃŒ์˜ ๋ฌผ๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ฑ„์‹์ฃผ์˜์˜ ํƒ€์ž…์„ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ๋ƒ‰์žฅ๊ณ ์— ๋ณด์œ  ์ค‘์ธ ์žฌ๋ฃŒ๋ฅผ ์„ ํƒํ•˜์—ฌ ๋งž์ถค ๋ ˆ์‹œํ”ผ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ์‹œํ”ผ๋ฅผ ์ƒ์„ธ ํด๋ฆญํ•˜์—ฌ ๊ตฌ๋งคํ•˜๊ณ ์ž๋Š” ํ’ˆ๋ชฉ์„ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋‹ด์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฅ๋ฐ”๊ตฌ๋‹ˆ์—์„œ ํ˜„์žฌ ๋งˆํŠธ์—์„œ ํŒ๋งค ์ค‘์ธ ํ’ˆ๋ชฉ ๊ด€๋ จ ์ƒํ’ˆ ์ •๋ณด๋ฅผ ํ™•์ธํ•œ ๋’ค ๋น„๊ตํ•˜์—ฌ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. VeggieMeal์€ ์ „๊ตญ ๋„๋งค์‹œ์žฅ ๋†์ˆ˜์‚ฐํ’ˆ์˜ ๊ฒฝ๋งค ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๋ณ„๋กœ ์ˆ˜์ง‘ํ•˜์—ฌ ํ‰๊ท ๊ฐ€ ๋ฐ ์ตœ๊ณ ๊ฐ€, ์ตœ์ €๊ฐ€๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋ž˜ํ”„์™€ ํ‘œ์˜ ํ˜•ํƒœ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ๊ฑด๊ฐ•ํ•˜๊ณ  ๋” ๊ฒฝ์ œ์ ์ธ ์‹์‚ฌ, ๋ฒ ์ง€๋ฐ€์ด ์ง€ํ–ฅํ•˜๋Š” ๊ฐ€์น˜์ž…๋‹ˆ๋‹ค.



2. ์ฃผ์š” ๊ธฐ๋Šฅ

VeggieMeal์—์„œ ์ œ๊ณตํ•˜๋Š” ์ฃผ์š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ 6. ๊ธฐ๋Šฅ์ƒ์„ธ ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1) ๋ ˆ์‹œํ”ผ ๋ชจ์•„๋ณด๊ธฐ

  • ์ฑ„์‹ ๋‹จ๊ณ„๋‚˜ ์žฌ๋ฃŒ๋ฅผ ์„ ํƒํ•˜์—ฌ ๋ ˆ์‹œํ”ผ๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2) ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ธฐ๋Šฅ

  • ๋ ˆ์‹œํ”ผ์—์„œ ์„ ํƒํ•œ ์žฌ๋ฃŒ๋ฅผ ๋‹ด์•„ ๋งˆํŠธ ๋ณ„ ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3) ๋ฌผ๊ฐ€๋ถ„์„

  • ์ „๊ตญ ๋„๋งค์‹œ์žฅ์˜ ๋†์ˆ˜์‚ฐํ’ˆ ๊ฒฝ๋งค๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ถ„์„ํ•˜์—ฌ ํ‰๊ท ๊ฐ€ ๋ฐ ์ตœ๊ณ ๊ฐ€, ์ตœ์ €๊ฐ€๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ถ„์„๋œ ์ •๋ณด๋Š” ๊ทธ๋ž˜ํ”„์™€ ํ‘œ๋กœ ๊ฐ„ํŽธํžˆ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


3. ์‹œ์Šคํ…œ ๊ตฌ์กฐ๋„

1) ์•„ํ‚คํ…์ฒ˜

architecture


2) ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ฐœ๊ด„๋„

  • ๋„๋งค์‹œ์žฅ ๊ฒฝ๋งค๊ฐ€ ๋ฐ์ดํ„ฐ ์‹ค์‹œ๊ฐ„ ์ˆ˜์ง‘ Flow

data1 data2



  • ํ’ˆ๋ชฉ๋ณ„ ๋งˆํŠธ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ Flow

data3



  • ๋ฐ์ดํ„ฐ ์ œ๊ณต Flow

data4



4. ๊ธฐ์ˆ ์Šคํƒ

Part Tech โš™
Front
Back
Deployment

ํ† ๊ธ€์„ ํด๋ฆญํ•˜์‹œ๋ฉด ์ž์„ธํ•œ ์‚ฌํ•ญ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Build ๋ฐฉ๋ฒ•์€ [ํฌํŒ…๋งค๋‰ด์–ผ](exec/[๋ฒ ์ง€๋ฐ€] ํฌํŒ…๋งค๋‰ด์–ผ.pdf)์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.

์‚ฌ์šฉ IDE ๋ฐ OS
  • OS: Ubuntu 22.04.1 LTS
  • IntelliJ IDEA 2022.1.3
  • Visual Studio Code : 1.70.2v
  • UI/UX: Figma
  • Jupyter Notebook
๋ฐฑ์—”๋“œ ๊ธฐ์ˆ ์Šคํƒ
  • Openjdk : 1.8.0
  • Springboot : 2.7.3
  • spring: gradle
  • MariaDB : mariadb 10.3.34
  • AWS : ubuntu 20.04.4 LTS
  • Jenkins : 2.361.1
  • Docker : 20.10.18
  • nginx : nginx/1.18.0 (Ubuntu)
  • Hadoop : 3.2.1
  • Spark : 3.2.1
  • Sqoop : 1.4.7
  • Kafka : 3.2.3
  • Python : 3.9.12
ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์Šคํƒ
  • node.js : v16.15.1(LTS)
  • npm : 8.11.0v
  • next : 12.3.0v
  • react : 18.2.0v
  • recoil : 0.7.5v
  • TypeScript : 4.8.3v
  • Sass : 1.54.9v
  • react-query : 3.39.2v


5. ERD ๋‹ค์ด์–ด๊ทธ๋žจ

erd



6. ๊ธฐ๋Šฅ ์ƒ์„ธ

์ฃผ์š” ๊ธฐ๋Šฅ๋งŒ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ๊ถ๊ธˆํ•˜์‹œ๋‹ค๋ฉด UCC๋‚˜ VeggieMeal PPT๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!

1) ๋ฉ”์ธ ํŽ˜์ด์ง€

  • '๋ ˆ์‹œํ”ผ ๋ชจ์•„๋ณด๊ธฐ'๋‚˜ '๋ฌผ๊ฐ€ ๋ถ„์„ ๋ณด๋Ÿฌ ๊ฐ€๊ธฐ'๋ฅผ ํด๋ฆญ ์‹œ, ํ•ด๋‹น ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

main


2) ๋ ˆ์‹œํ”ผ

๏ผŠ ์ฑ„์‹ ๋‹จ๊ณ„

์ฑ„์‹ ๋‹จ๊ณ„์— ๋งž๋Š” ๋ ˆ์‹œํ”ผ๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

2


๏ผŠ ๋ƒ‰์žฅ๊ณ 

์„ ํƒํ•œ ์žฌ๋ฃŒ์— ๋งž๋Š” ๋ ˆ์‹œํ”ผ๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

3


๏ผŠ๋ ˆ์‹œํ”ผ ์ƒ์„ธ๋ณด๊ธฐ

๋ ˆ์‹œํ”ผ ๋ณ„ ์žฌ๋ฃŒ์™€ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•, ๊ด€๋ จ ์œ ํŠœ๋ธŒ ์˜์ƒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
ํ•„์š”ํ•œ ํ’ˆ๋ชฉ์„ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋‹ด์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4


3) ์žฅ๋ฐ”๊ตฌ๋‹ˆ

์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋‹ด์€ ํ’ˆ๋ชฉ์˜ ๋งˆํŠธ ๋ณ„ ํŒ๋งค ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
์•Œ๋งž์€ ์ƒํ’ˆ์„ ๊ณจ๋ผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ณ  ๋งˆํŠธ ๋ณ„ ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์—ฌ ๋” ์ €๋ ดํ•œ ์ œํ’ˆ์„ ๊ตฌ์ž…ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค.

7


4) ๋ฌผ๊ฐ€๋ถ„์„

์‹ค์‹œ๊ฐ„์œผ๋กœ ์ œ๊ณต๋˜๋Š” ์ „๊ตญ ๋†์ˆ˜์‚ฐํ’ˆ ๋„๋งค ์‹œ์žฅ์˜ ๊ฒฝ๋งค๊ฐ€๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋†์ˆ˜์‚ฐํ’ˆ์˜ ํ‰๊ท ๊ฐ€, ์ตœ๊ณ ๊ฐ€, ์ตœ์ €๊ฐ€๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
๋ถ„์„ ๋‚ด์šฉ์„ ๊ทธ๋ž˜ํ”„์™€ ํ‘œ๋กœ ํ™•์ธํ•˜ ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฌผ๊ฐ€ ๊ด€๋ จ ๋‰ด์Šค๋ฅผ ํ†ตํ•ด ์ตœ์‹  ๋ฌผ๊ฐ€ ์†Œ์‹์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

5



6



7. ๊ฐœ๋ฐœ์ž

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



2) ๋ฐฑ์—”๋“œ



8. ์ฐธ๊ณ  ์ž๋ฃŒ

  • [Git/Jira Convention](assets/[๋ฒ ์ง€๋ฐ€] Git&Jira ์ปจ๋ฒค์…˜.pdf)
  • [VeggieMeal - ๊ธฐ๋Šฅ๋ช…์„ธ์„œ](assets/[๋ฒ ์ง€๋ฐ€] ๊ธฐ๋Šฅ๋ช…์„ธ์„œ.pdf)
  • [VeggieMeal - ์‚ฌ์šฉ์ž ํ๋ฆ„๋„](assets/[๋ฒ ์ง€๋ฐ€] ์‚ฌ์šฉ์ž ํ๋ฆ„๋„.pdf)
  • [VeggieMeal - ์™€์ด์–ด ํ”„๋ ˆ์ž„](assets/[๋ฒ ์ง€๋ฐ€] ์™€์ด์–ด ํ”„๋ ˆ์ž„.pdf)
  • [VeggieMeal - ํฌํŒ… ๋งค๋‰ด์–ผ](exec/[๋ฒ ์ง€๋ฐ€] ํฌํŒ…๋งค๋‰ด์–ผ.pdf)
  • VeggieMeal - ์‹œ์—ฐ์‹œ๋‚˜๋ฆฌ์˜ค
  • [VeggieMeal - UCC](assets/[๋ฒ ์ง€๋ฐ€] UCC.mp4)
  • [VeggieMeal - ์ตœ์ข…๋ฐœํ‘œ PPT](assets/[๋ฒ ์ง€๋ฐ€] ์ตœ์ข… ๋ฐœํ‘œ PPT.pdf)

If you have any questions to this project, please contact to c205.jaranda@gmail.com.

About

๐Ÿ“ˆ๋ฌผ๊ฐ€ ์ •๋ณด ๋ฐ ์ฑ„์‹ ๋ ˆ์‹œํ”ผ ๐Ÿฅ—์ œ๊ณต ํ”Œ๋žซํผ


Languages

Language:TypeScript 34.2%Language:Java 24.5%Language:Jupyter Notebook 18.8%Language:SCSS 17.4%Language:JavaScript 1.8%Language:Python 1.6%Language:Scala 1.5%Language:Dockerfile 0.0%