Skip to content

Personal ingredient and recipe recommendation app service

Notifications You must be signed in to change notification settings

ChaeumApp/Chaeum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

์ฑ„์›€

์‚ฌ์šฉ์ž ๋งž์ถคํ˜• ์‹์žฌ๋ฃŒ ๋ฐ ๋ ˆ์‹œํ”ผ ์ถ”์ฒœ ์•ฑ ์„œ๋น„์Šค

Personal ingredient and recipe recommendation app service


Team ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ

skufmid
์ „์ข…ํ—Œ
- Django
- Database
- ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜
gunhoo
๋ฐ•๊ฑดํ›„
- Spring
- Database
- Server & CI/CD
parkeg1223
๋ฐ•์€๊ทœ
- Spring
- Database
- Django
OH-Yeonju
์˜ค์—ฐ์ฃผ
- Flutter
- UI/UX
illu1996
์ด์ง€ํ˜
- Flutter
- UI/UX
tsmich926
ํ™ฉ์ˆ˜์•„
- Flutter
- UI/UX

๊ฐœ์š” Introduction ๐Ÿ“

๋†์ถ•์ˆ˜์‚ฐ๋ฌผ ์˜จ๋ผ์ธ ์‡ผํ•‘ ๋นˆ๋„์ˆ˜๊ฐ€ ํญ์ฆํ•˜๋Š” ์š”์ฆ˜, ์—ฌ๋Ÿฌ๋ถ„๋“ค์€ โ€˜ํ”Œ๋žซํผ์ด ๋„ˆ๋ฌด ๋งŽ์•„ ์–ด๋””์„œ ์‚ฌ์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ๋„ค' ๋˜๋Š”, '๋‚˜์˜ ๊ฐœ์ธ ๋งž์ถคํ˜• ๋†์ถ•์ˆ˜์‚ฐ๋ฌผ์„ ์•Œ์•„์„œ ์ถ”์ฒœํ•ด์ฃผ๋Š” ์„œ๋น„์Šค๋Š” ์—†์„๊นŒ?' ๋ผ๋Š” ์ƒ๊ฐ์„ ํ•ด๋ณด์‹  ์  ์žˆ๋‚˜์š”?

์ฑ„์›€์€ ๊ทธ๋Ÿฌํ•œ ๋‹ˆ์ฆˆ๋ฅผ ์ถฉ์กฑ์‹œ์ผœ์ฃผ๊ธฐ ์œ„ํ•ด ํƒ„์ƒํ•œ ๋น…๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์‚ฌ์šฉ์ž ๋งž์ถคํ˜• ์ถ”์ฒœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ์ฑ„์›€์™€ ํ•จ๊ป˜๋ผ๋ฉด, ๋†์ถ•์ˆ˜์‚ฐ๋ฌผ ๊ตฌ๋งค๋ฅผ ์†์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ Duration ๐Ÿ“…

2023.08.28. - 2023.10.06. (6 weeks)


์ฃผ์š” ๊ธฐ๋Šฅ Main Function ๐Ÿงฐ

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

  • ์ตœ์ƒ๋‹จ ๊ฒ€์ƒ‰ ํƒญ์„ ํ†ตํ•ด ์‹์žฌ๋ฃŒ์™€ ๋ ˆ์‹œํ”ผ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‹์žฌ๋ฃŒ ๋ถ„๋ฅ˜๋ฅผ ํ™•์ธํ•˜๊ณ  ํ•ด๋‹น ์‹์žฌ๋ฃŒ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์˜ค๋Š˜์˜ ์ฑ„์›€ ๋ฒ ์ŠคํŠธ ์ƒํ’ˆ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‚ฌ์šฉ์ž ๋งž์ถคํ˜• ์ƒํ’ˆ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์˜ค๋Š˜์˜ ์ตœ์ €๊ฐ€ ์‹์žฌ๋ฃŒ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ ˆ์‹œํ”ผ

๋ ˆ์‹œํ”ผ ๋ชฉ๋ก

  • ํ•˜๋‹จ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”๋ฅผ ํ†ตํ•ด ๋ ˆ์‹œํ”ผ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์•„๋ž˜๋กœ ์Šคํฌ๋กคํ•˜์—ฌ ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์œ„๋กœ ์Šคํฌ๋กคํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋ ˆ์‹œํ”ผ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

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

  • ๋ ˆ์‹œํ”ผ ์กฐ๋ฆฌ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์œ ํŠœ๋ธŒ ์˜์ƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ด€์‹ฌ์žˆ๋Š” ๋ ˆ์‹œํ”ผ์— ์ข‹์•„์š”๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์œ ์‚ฌ ๋ ˆ์‹œํ”ผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์‹์žฌ๋ฃŒ

์‹์žฌ๋ฃŒ ์นดํ…Œ๊ณ ๋ฆฌ

  • ํ•˜๋‹จ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”๋ฅผ ํ†ตํ•ด ์‹์žฌ๋ฃŒ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์›ํ•˜๋Š” ๋ถ„๋ฅ˜๋ฅผ ์„ ํƒํ•˜๋ฉด ํ•ด๋‹น ์นดํ…Œ๊ณ ๋ฆฌ์— ํ•ด๋‹นํ•˜๋Š” ์‹์žฌ๋ฃŒ๋“ค์„ ๋ณด์—ฌ์ค€๋‹ค.
  • '์•Œ๋ฆผ์„ค์ •'์„ ํ†ตํ•ด ๊ฐ€๊ฒฉ์ด ํฌ๊ฒŒ ํ•˜๋ฝํ•˜๋ฉด ์•ฑ ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
  • '๊ด€์‹ฌ์—†์Œ'์„ ํ†ตํ•ด ํ•ด๋‹น ์‹์žฌ๋ฃŒ๋ฅผ ์ถ”์ฒœํ•˜์ง€ ์•Š๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค.

์‹์žฌ๋ฃŒ ์ƒ์„ธ์กฐํšŒ

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

๊ฒ€์ƒ‰

  • ์ฑ„์›€๋งŒ์˜ ์ถ”์ฒœ๋ ˆ์‹œํ”ผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฒ€์ƒ‰์— ๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ด€๋ จ ์‹์žฌ๋ฃŒ์™€ ๋ ˆ์‹œํ”ผ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

ํšŒ์›

  • ์ด๋ฉ”์ผ ์ธ์ฆ์„ ํ†ตํ•ด ํšŒ์›๊ฐ€์ž…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํšŒ์›๊ฐ€์ž… ์‹œ ์„ฑ๋ณ„, ์—ฐ๋ น, ์•Œ๋Ÿฌ์ง€ ์—ฌ๋ถ€, ์ฑ„์‹ ์—ฌ๋ถ€๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์ด๋ฉ”์ผ์„ ํ†ตํ•ด ๋กœ๊ทธ์ธ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋„ค์ด๋ฒ„๋ฅผ ํ†ตํ•ด ๋กœ๊ทธ์ธ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์นด์นด์˜ค๋ฅผ ํ†ตํ•ด ๋กœ๊ทธ์ธ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋‚ด๊ฐ€ ์ข‹์•„์š” ํ•œ ๋ ˆ์‹œํ”ผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋‚ด๊ฐ€ ์ข‹์•„์š” ํ•œ ์‹์žฌ๋ฃŒ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํšŒ์›์ •๋ณด ์ˆ˜์ •์„ ํ†ตํ•ด ์ฑ„์‹ ๋ฐ ์•Œ๋Ÿฌ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ / ๋กœ๊ทธ์•„์›ƒ / ํšŒ์›ํƒˆํ‡ด๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฃผ์š” ๊ธฐ์ˆ  Tech Stack ๐Ÿ’ก

์‹œ์Šคํ…œ ์•„ํ‚คํ…์ณ

Tool

- Project: Jira & Git & Notion
- Desgin: Figma
- Server: Amazon EC2
- APP: Flutter
- Recommend: Django
- CI/CD: Jenkins

Version

BackEnd
 โ”œโ”€โ”€ Spring
 โ”‚    โ”œโ”€โ”€ Java: OpenJDK 11 
 โ”‚    โ”œโ”€โ”€ SpringBoot: 2.7.13
 โ”‚    โ”‚    โ”œโ”€โ”€ Gradle
 โ”‚    โ”‚    โ””โ”€โ”€ JPA
 โ”‚    โ”œโ”€โ”€ Spring Security
 โ”‚    โ”‚    โ””โ”€โ”€ JWT
 โ”‚    โ”œโ”€โ”€ Swagger 3.0
 โ”‚    โ”œโ”€โ”€ Naver Mail
 โ”‚    โ””โ”€โ”€ Social Login
 โ”‚         โ”œโ”€โ”€ Naver
 โ”‚         โ””โ”€โ”€ Kakao
 โ”‚
 โ”œโ”€โ”€ Django
 โ”‚    โ”œโ”€โ”€ Python: 3.11.4
 โ”‚    โ””โ”€โ”€ Django: 4.1.7 
 โ”‚
 โ””โ”€โ”€ Database
      โ”œโ”€โ”€ MariaDB 10.11.4
      โ””โ”€โ”€ Redis 3.0.504

FrontEnd
 โ”œโ”€โ”€ Dart 3.1.0
 โ””โ”€โ”€ Flutter 3.13.1

๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ Development Guild

API

ERD

๊ฐ€์ด๋“œ ๐Ÿ—ž

ํ”„๋กœ์ ํŠธ ๋งค๋‰ด์–ผ(ํฌํŒ…๋งค๋‰ด์–ผ)
DumpSQL


ํด๋” ๊ตฌ์กฐ Directory structure ๐Ÿ’ก

Spring structure

โ”œโ”€allergy
โ”‚  โ”œโ”€controller
โ”‚  โ”œโ”€entity
โ”‚  โ”‚  โ”œโ”€composite
โ”‚  โ”‚  โ””โ”€single
โ”‚  โ”œโ”€id
โ”‚  โ”œโ”€repository
โ”‚  โ””โ”€service
โ”œโ”€category
โ”‚  โ”œโ”€controller
โ”‚  โ”œโ”€dto
โ”‚  โ”œโ”€entity
โ”‚  โ”œโ”€repository
โ”‚  โ”œโ”€service
โ”‚  โ””โ”€vo
โ”œโ”€chaeum
โ”œโ”€config
โ”œโ”€exception
โ”œโ”€ingredient
โ”‚  โ”œโ”€controller
โ”‚  โ”œโ”€converter
โ”‚  โ”œโ”€dto
โ”‚  โ”œโ”€entity
โ”‚  โ”‚  โ”œโ”€composite
โ”‚  โ”‚  โ”œโ”€id
โ”‚  โ”‚  โ””โ”€single
โ”‚  โ”œโ”€id
โ”‚  โ”œโ”€repository
โ”‚  โ”œโ”€service
โ”‚  โ””โ”€vo
โ”œโ”€item
โ”‚  โ”œโ”€controller
โ”‚  โ”œโ”€converter
โ”‚  โ”œโ”€dto
โ”‚  โ”œโ”€entity
โ”‚  โ”‚  โ”œโ”€composite
โ”‚  โ”‚  โ””โ”€single
โ”‚  โ”œโ”€id
โ”‚  โ”œโ”€repository
โ”‚  โ”œโ”€service
โ”‚  โ””โ”€vo
โ”œโ”€jwt
โ”‚  โ””โ”€service
โ”œโ”€mail
โ”œโ”€notification
โ”‚  โ”œโ”€entity
โ”‚  โ”‚  โ””โ”€composite
โ”‚  โ”œโ”€id
โ”‚  โ”œโ”€repository
โ”‚  โ””โ”€service
โ”œโ”€recipe
โ”‚  โ”œโ”€controller
โ”‚  โ”œโ”€dto
โ”‚  โ”œโ”€entity
โ”‚  โ”‚  โ”œโ”€composite
โ”‚  โ”‚  โ””โ”€single
โ”‚  โ”œโ”€id
โ”‚  โ”œโ”€repository
โ”‚  โ””โ”€service
โ”œโ”€search
โ”‚  โ”œโ”€controller
โ”‚  โ”œโ”€dto
โ”‚  โ””โ”€service
โ””โ”€user
    โ”œโ”€controller
    โ”œโ”€converter
    โ”œโ”€dto
    โ”œโ”€entity
    โ”œโ”€repository
    โ”œโ”€service
    โ”œโ”€util
    โ””โ”€vo

Flutter structure

โ”‚  firebase_options.dart
โ”‚  main.dart
โ”‚
โ”œโ”€api
โ”‚      firebaseapi.dart
โ”‚
โ”œโ”€category
โ”‚      categorymain.dart
โ”‚
โ”œโ”€detail
โ”‚      detail.dart
โ”‚      detailrecipe.dart
โ”‚      pricechart.dart
โ”‚      priceinfo.dart
โ”‚      pricetable.dart
โ”‚      productlist.dart
โ”‚      profile.dart
โ”‚      recomproduct.dart
โ”‚
โ”œโ”€ingredients
โ”‚      ingrfavbtn.dart
โ”‚      ingrmain.dart
โ”‚
โ”œโ”€main
โ”‚      mainbest.dart
โ”‚      mainbody.dart
โ”‚      maincarousel.dart
โ”‚      maincategory.dart
โ”‚      mainmybest.dart
โ”‚      mainrowprice.dart
โ”‚      splash.dart
โ”‚
โ”œโ”€recipe
โ”‚      player.dart
โ”‚      recipedetail.dart
โ”‚      recipemain.dart
โ”‚      recipemainlist.dart
โ”‚      similarrecipe.dart
โ”‚
โ”œโ”€repeat
โ”‚      bottom.dart
โ”‚      needlogin.dart
โ”‚      search.dart
โ”‚
โ”œโ”€search
โ”‚      searchingr.dart
โ”‚      searchlist.dart
โ”‚      searchmain.dart
โ”‚      searchmainrecipe.dart
โ”‚      searchrecipe.dart
โ”‚      searchresult.dart
โ”‚
โ”œโ”€store
โ”‚      searchstore.dart
โ”‚      userstore.dart
โ”‚
โ”œโ”€user
โ”‚      addinfo.dart
โ”‚      fav_food.dart
โ”‚      fav_rec.dart
โ”‚      findpassword.dart
โ”‚      login.dart
โ”‚      mypage.dart
โ”‚      my_more_food.dart
โ”‚      my_more_rec.dart
โ”‚      pageapi.dart
โ”‚      signup.dart
โ”‚      signuptimer.dart
โ”‚
โ””โ”€webview
        webview.dart

About

Personal ingredient and recipe recommendation app service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages