📢 본 프로젝트는 2024 Samsung Software Academy For Youth 10기 특화 프로젝트 일환으로 진행되었습니다.
-
우리 서비스를 찾는 사람들은 주로
집에서 요리를 즐기는 분
들이에요. 쉽게 구할 수 있는 식재료와 그 식재료로 만들 수 있는 다양한 요리법에 관심이 많죠. 그리고 요리 비용을 미리 알고 싶어 하며, 가능하다면 가장 저렴한 가격으로 식재료를 구입하고 싶어해요. -
상추
는 고객이 식재료를 쉽게 찾고, 요리 비용도 바로 알 수 있는 서비스를 만들어 이 문제를 해결하려고 해요! -
상추
는 고객이 식재료를 최저가로 구매하도록 도와주면서 식재료에 접근을 더 쉽게, 이 식재료로 어떤 요리를 할 수 있을까를 해결해줘요!
2024.02.22 ~ 2024.04.04 (6주)
![](https://private-user-images.githubusercontent.com/88939170/320378263-fedc24bc-3802-4284-816d-415bd576b59e.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk5MTYsIm5iZiI6MTczODk4OTYxNiwicGF0aCI6Ii84ODkzOTE3MC8zMjAzNzgyNjMtZmVkYzI0YmMtMzgwMi00Mjg0LTgxNmQtNDE1YmQ1NzZiNTllLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0NDAxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE4YzA5ZjIyYTczM2ViMWJhNjNmMTU2MmVmMzk5MTIyMDc3ZDFiNTdkMzYyNjM4ZDBlY2ViZGQ0ZDdmODA0ZjMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.7wVR9KhdBi8Htf9kdjc3-Fcr2IEeKFHCmzWNwFcc07c)
- 렌더링 될 때마다 1개의 레시피 추천
- 하루마다 10개의 농수산물 식재료 추천 및 온오프라인 최저가 제공
![](https://private-user-images.githubusercontent.com/88939170/320377218-0882b480-b0e8-48ec-84d5-7796d5a58624.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk5MTYsIm5iZiI6MTczODk4OTYxNiwicGF0aCI6Ii84ODkzOTE3MC8zMjAzNzcyMTgtMDg4MmI0ODAtYjBlOC00OGVjLTg0ZDUtNzc5NmQ1YTU4NjI0LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0NDAxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA3OTc1OGFiZDNkODcwMTE0NDNlNDUxNjk0ODQ1Y2ZlNjFjZDg2MDI0NGFhNDhmYzRjYmIzNDA4MGM0MDMyNDMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.wQERnPfLZcPJF-XxE85XC17rr9nAHhO7mfSjHnHOJvM)
![](https://private-user-images.githubusercontent.com/88939170/320377304-e8e80f04-6577-4573-901b-3578cb9148cb.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk5MTYsIm5iZiI6MTczODk4OTYxNiwicGF0aCI6Ii84ODkzOTE3MC8zMjAzNzczMDQtZThlODBmMDQtNjU3Ny00NTczLTkwMWItMzU3OGNiOTE0OGNiLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0NDAxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdiYjgxNzgwNGMwN2ZiMTdjZGUwMGE3NmNlOWIxYTNkOTc3ZWVmOGJmNzA1YmY5ZTI1OTJlZmVhN2MwOTE3OGYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.61QRCGV57lAD6ybDM_H84zcgEwV85yb6Q5N9iAcgqQM)
![](https://private-user-images.githubusercontent.com/88939170/320378306-5cedb607-0d58-45c5-8a44-110b73931784.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk5MTYsIm5iZiI6MTczODk4OTYxNiwicGF0aCI6Ii84ODkzOTE3MC8zMjAzNzgzMDYtNWNlZGI2MDctMGQ1OC00NWM1LThhNDQtMTEwYjczOTMxNzg0LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0NDAxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg5MDc5NGY5YTlhYjIxZTFmNTI3YTZiZTE2ZWJkYjhhZmYxNTQxZjkwNjEyNzZjMGM5ZTQ0ZTgyZDE1NjU5NDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.zTc2_9Eqo077vCC0mdlM0TWyAVgbXywC_lnBNOqfxgg)
- 카테고리별 농수산물 재료 조회 및 검색
- 가격 분석 리포트 제공
- 농수산물 온/오프라인 가격 변동 추이
- 농수산물 목표가 설정/조회 기능
- 최저 가격 정보
- 위치 기반 구매 가능 시장 정보 제공
![](https://private-user-images.githubusercontent.com/88939170/320377917-474fa02e-aa46-40c0-a0ae-f859577ee1df.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk5MTYsIm5iZiI6MTczODk4OTYxNiwicGF0aCI6Ii84ODkzOTE3MC8zMjAzNzc5MTctNDc0ZmEwMmUtYWE0Ni00MGMwLWEwYWUtZjg1OTU3N2VlMWRmLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0NDAxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTFhYjYzZTM5ZjdlNjQ1NmUxYjE0ZGE3MzI4MWJlMWZjYjAxOGNmNmRlNzJmZmNlYWU4YmFhOGVmN2Q5NmE5NDcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.hm2Lq354MPne2jEHjo_Yz7YlWaUTlQ6VvnDh58XFbuY)
![](https://private-user-images.githubusercontent.com/88939170/320378000-4c8b2ee4-7ada-44c5-ad6c-af4840556d13.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk5MTYsIm5iZiI6MTczODk4OTYxNiwicGF0aCI6Ii84ODkzOTE3MC8zMjAzNzgwMDAtNGM4YjJlZTQtN2FkYS00NGM1LWFkNmMtYWY0ODQwNTU2ZDEzLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0NDAxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRlYmVmMTBkOTk1YjRjZmE5MzlhMjcwM2NkZjE1ZmUyYzc0M2EwMmQ3NDhjNjk4ZGY5MTgwNDZjYjc4NzdhNTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.0SQ2025_PxbFH6eH8DYPniTRlOV6HtAq9vwTpSCj314)
![](https://private-user-images.githubusercontent.com/88939170/320378163-4c2a40bb-1918-4b3a-8fd3-d720ba77c7f1.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk5MTYsIm5iZiI6MTczODk4OTYxNiwicGF0aCI6Ii84ODkzOTE3MC8zMjAzNzgxNjMtNGMyYTQwYmItMTkxOC00YjNhLThmZDMtZDcyMGJhNzdjN2YxLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0NDAxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTAzMWZiYjU1YzAxY2M3Y2U3NTFjZDA5YzhjNzk1OTYxM2QzY2RhZjEzOTZiZDI5ZTQwNWE2NWU1ZDA5Y2MyNzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.i9SS2IzOTigFGu9w0thwEpjwLe0BbO8XFyjFn8mbOFE)
![](https://private-user-images.githubusercontent.com/88939170/320378170-2fa38f74-071c-4d97-99df-0d6ebd21adbb.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk5MTYsIm5iZiI6MTczODk4OTYxNiwicGF0aCI6Ii84ODkzOTE3MC8zMjAzNzgxNzAtMmZhMzhmNzQtMDcxYy00ZDk3LTk5ZGYtMGQ2ZWJkMjFhZGJiLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0NDAxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY0YWEyMWZjNDliNjg4YzRiMjI2NjQxYWIxMWQyYzdmY2E3MDRmMTkwNTJmOGUwNmIyMDcwMmRmN2Y3MDdlOWYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.FQY2q56AKc0niCBCLSp56BxS3235XPlLSL58e9WW99g)
- 농수산물 재료를 통해 만들 수 있는 레시피
- 해당 레시피 유튜브 영상 제공
- 관심 있는 레시피
찜하기
기능 - 레시피에 대한 리뷰글 작성
- 리뷰글에 대한 댓글/대댓글 가능
![](https://private-user-images.githubusercontent.com/88939170/320379997-00a1391c-3076-4db6-9105-9de400b28965.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk5MTYsIm5iZiI6MTczODk4OTYxNiwicGF0aCI6Ii84ODkzOTE3MC8zMjAzNzk5OTctMDBhMTM5MWMtMzA3Ni00ZGI2LTkxMDUtOWRlNDAwYjI4OTY1LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0NDAxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNiMjM4OTQ3MWZlYTI0OTM3MDhiZTRjMDQ4MmUzOWNhODkyMDMwZWMxYzY2YzM4NWFhNWU5ZGQ3OWFlZjdmNGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.aznti8naO0H5Jbp76m-yWojvGEDamMUOsDhY6JY-HV4)
![](https://private-user-images.githubusercontent.com/88939170/320380007-460a399e-fbc0-41cf-b234-f5f2884f14fb.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk5MTYsIm5iZiI6MTczODk4OTYxNiwicGF0aCI6Ii84ODkzOTE3MC8zMjAzODAwMDctNDYwYTM5OWUtZmJjMC00MWNmLWIyMzQtZjVmMjg4NGYxNGZiLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0NDAxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkzYWI2MDgyOTIzOTZmNWEyNTQ5OTIyZmIwOTRlYzdjYjRhNzEwYTYzMTVhN2M1MjM3ZTQ0M2Q1Y2U4Y2I5M2UmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.uOi9tUorMl8zRGf08WXmfBNf05FAikXi6x8OovQxnx8)
- 네이버 OAuth2를 사용한 사용자 인증 기능 구현
- 닉네임 및 프로필 사진 등록
- 팔로워/팔로잉
- 사용자가 작성한 리뷰 글 / 찜한 레시피 목록 조회
- 사용자가 등록한 농수산물 가격의 요약 정보
frontend
📦src
├─📂@types
│ └─📂global
├─📂api
├─📂assets
│ ├─📂icons
│ ├─📂images
├─📂lotties
│ └─📂styles
│ └─📂font
├─📂components
│ ├─📂recipe
│ ├─📂user
│ ├─📂review
│ ├─📂ingredients
│ ├─📂report
│ ├─📂routes
│ └─📂common
├─📂pages
│ ├─📂recipe
│ ├─📂Home
│ ├─📂user
│ ├─📂review
│ ├─📂ingredients
│ └─📂report
├─📂constants
├─📂services
│ ├─📂recipe
│ ├─📂review
│ ├─📂recommend
│ ├─📂ingredients
│ ├─📂report
│ └─📂user
└─📂stores
frontend
📦src
├─📂@types
│ └─📂global
├─📂api
├─📂assets
│ ├─📂icons
│ ├─📂images
├─📂lotties
│ └─📂styles
│ └─📂font
├─📂components
│ ├─📂recipe
│ ├─📂user
│ ├─📂review
│ ├─📂ingredients
│ ├─📂report
│ ├─📂routes
│ └─📂common
├─📂pages
│ ├─📂recipe
│ ├─📂Home
│ ├─📂user
│ ├─📂review
│ ├─📂ingredients
│ └─📂report
├─📂constants
├─📂services
│ ├─📂recipe
│ ├─📂review
│ ├─📂recommend
│ ├─📂ingredients
│ ├─📂report
│ └─📂user
└─📂stores
backend
📦BE-RecipeService
└─ src
└─ main.java.com.cdd.recipeservice
│ ├─ 📂RecipeServiceApplication.java
│ ├─ 📂global
│ │ ├─ 📂annotation
│ │ ├─ 📂aop
│ │ ├─ 📂config
│ │ ├─ 📂domain
│ │ └─ 📂utils
│ ├─ 📂infra
│ │ ├─ 📂config
│ │ ├─ 📂ingredientInfo
│ │ ├─ 📂kakao
│ │ ├─ 📂member
│ │ ├─ 📂seoul
│ │ ├─ 📂storage
│ │ └─ 📂youtube
│ ├─ 📂ingredientmodule
│ │ ├─ 📂ingredient
│ │ │ ├─ 📂application
│ │ │ ├─ 📂domain
│ │ │ │ ├─ Ingredient.java
│ │ │ │ ├─ IngredientRepository.java
│ │ │ │ └─📂query
│ │ │ │ ├─ IngredientRepositoryCustom.java
│ │ │ │ └─ IngredientRepositoryImpl.java
│ │ │ ├─ 📂dto
│ │ │ │ └─ 📂response
│ │ │ ├─ 📂exception
│ │ │ ├─ 📂presentation
│ │ │ │ ├─ IngredientController.java
│ │ │ └─ 📂utils
│ │ ├─ 📂market
│ │ ├─ 📂targetprice
│ │ └─ 📂weeklyprice
│ └─ 📂recipemodule
│ ├─ 📂comment
│ ├─ 📂recipe
│ └─ 📂review
└─ 📂resources
├─ application.yml
└─ 📂db.migration # flyway
├─ V1__init.sql
├─ V2__add_basetime_to_market.sql
├─ V3__alter_sale_link_nullable.sql
├─ V4__alter_IngredientDailyPrice_name_relation.sql
├─ V5__rename_id.sql
├─ V6__add_knowhow.sql
├─ V7__alter_knowhow_len.sql
├─ V8__add_marketType.sql
└─ V9__add_recipe_id_by_cook_eat.sql
backend
📦BE-RecipeService
└─ src
└─ main.java.com.cdd.recipeservice
│ ├─ 📂RecipeServiceApplication.java
│ ├─ 📂global
│ │ ├─ 📂annotation
│ │ ├─ 📂aop
│ │ ├─ 📂config
│ │ ├─ 📂domain
│ │ └─ 📂utils
│ ├─ 📂infra
│ │ ├─ 📂config
│ │ ├─ 📂ingredientInfo
│ │ ├─ 📂kakao
│ │ ├─ 📂member
│ │ ├─ 📂seoul
│ │ ├─ 📂storage
│ │ └─ 📂youtube
│ ├─ 📂ingredientmodule
│ │ ├─ 📂ingredient
│ │ │ ├─ 📂application
│ │ │ ├─ 📂domain
│ │ │ │ ├─ Ingredient.java
│ │ │ │ ├─ IngredientRepository.java
│ │ │ │ └─📂query
│ │ │ │ ├─ IngredientRepositoryCustom.java
│ │ │ │ └─ IngredientRepositoryImpl.java
│ │ │ ├─ 📂dto
│ │ │ │ └─ 📂response
│ │ │ ├─ 📂exception
│ │ │ ├─ 📂presentation
│ │ │ │ ├─ IngredientController.java
│ │ │ └─ 📂utils
│ │ ├─ 📂market
│ │ ├─ 📂targetprice
│ │ └─ 📂weeklyprice
│ └─ 📂recipemodule
│ ├─ 📂comment
│ ├─ 📂recipe
│ └─ 📂review
└─ 📂resources
├─ application.yml
└─ 📂db.migration # flyway
├─ V1__init.sql
├─ V2__add_basetime_to_market.sql
├─ V3__alter_sale_link_nullable.sql
├─ V4__alter_IngredientDailyPrice_name_relation.sql
├─ V5__rename_id.sql
├─ V6__add_knowhow.sql
├─ V7__alter_knowhow_len.sql
├─ V8__add_marketType.sql
└─ V9__add_recipe_id_by_cook_eat.sql