2024년 1학기 공개SW프로젝트 03분반 8조 아직88하조
냉장고 속 음식이 소리 없이 유통기한을 넘기고 있나요?
오늘 저녁, 어떤 요리를 할지 고민 중이신가요?
요리보고 조리보고 🤔 요리조리에서 추천받아보세요!
최근 1인 가구의 증가와 코로나19 팬데믹으로 인해 집에서 요리하는 인구가 급증하고 있으며, 이에 따라 냉장고 속 식재료 관리와 활용에 대한 필요성이 높아지고 있습니다.
요리조리는 냉장고 속 식재료를 효율적으로 관리하고, 이를 기반으로 맞춤형 레시피를 추천하는 스마트 요리 도우미 서비스입니다. 요리조리를 사용하여 재료 낭비를 최소화하고, 건강하고 지속 가능한 식생활을 도모할 수 있습니다.
- 냉장고 관리 : 식재료 추가, 삭제 및 수정이 가능하며, 유통기한을 자동으로 추적
- 맞춤형 레시피 추천 : 사용자가 입력한 식재료와 사용자의 선호도, 알레르기 정보를 기반으로 맞춤형 레시피
- 냉장고 공유 : 가족이나 동거인과 냉장고를 공유할 수 있는 기능을 제공하여 냉장고 속 재료를 함께 관리하고, 중복 구매 방지
이름 | 역할 | GITHUB |
---|---|---|
서하은 | 팀장, 백엔드 개발 | @haeun1107 |
조현우 | 백엔드, AI 개발 | @Johyeonwoooooooo |
오광훈 | 프론트엔드 개발 | @ohgwanghoon |
최민기 | 프론트엔드 개발 | @mkchoii |
김건우 | 프론트엔드 개발 | @gnvvoo |
- frontend 브랜치 : 프론트엔드 개발용 브랜치
- backend 브랜치 : 백엔드 개발용 브랜치
- ML 브랜치 : 머신러닝 개발용 브랜치
- main 브랜치 : 최종 개발 내용 브랜치
- AWS_EC2 브랜치 : 프로덕션 배포용 브랜치
- develop 브랜치
- 각 개발 영역(frontend, backend, ML)에서 개발을 진행하기 위해 frontend, backend, ML 브랜치로 나누어 작업
- 새로운 기능 추가 시 각 develop 브랜치(frontend, backend, ML)에서 feature 브랜치를 생성하여 개발
- 기능 추가 완료 시 feature 브랜치를 해당 develop 브랜치(frontend, backend, ML)로 merge
- main 브랜치
- 모든 기능이 통합된 최종 개발 내용 브랜치
- 각 develop 브랜치에서 안정화된 코드가 main 브랜치로 병합
- 배포 전 main 브랜치에서 테스트를 거침.
- AWS_EC2 브랜치
- 프로덕션 배포용 브랜치
- main 브랜치에서 테스트를 완료한 후, AWS_EC2 브랜치로 merge하여 실제 서비스에 배포
- 사용자가 이메일과 비밀번호를 입력하여 계정에 로그인할 수 있고, 로그인에 실패한 경우 경고 문구가 입력창 하단에 표시됩니다.
- 이메일, 비밀번호, 이름 등을 입력하여 회원가입할 수 있으며, 회원가입 시 사용자의 취향과 알러지를 등록합니다.
로그인 | 회원가입 | 취향 등록 | 알러지 등록 |
---|---|---|---|
- 메인 페이지에서 사용자가 냉장고 속 재료와 상관없이 다양한 요리 아이디어를 얻을 수 있도록 랜덤으로 레시피를 추천해주는 기능으로, 기능을 통해 새로운 요리를 시도해 볼 수 있습니다.
랜덤 레시피 | 레시피 상세정보 | 레시피 상세정보 | 피드백 |
---|---|---|---|
- 냉장고 속에 있는 식재료를 선택하면, 이를 기반으로 해당 재료를 활용한 레시피를 추천합니다.
- 사용자의 식습관, 취향, 알러지 정보 등을 고려하여 맞춤형 레시피를 제안하고, 사용자 피드백을 실시간으로 반영하여 더욱 정확하고 개인화된 추천을 제공합니다.
재료 선택 | 레시피 추천 | 레시피 상세정보 | 피드백 |
---|---|---|---|
- 냉장고에 있는 재료를 조회할 수 있고, 유통기한, 수량 등을 확인할 수 있습니다.
- 새로운 냉장고를 추가할 수 있고, 사용자가 추가한 모든 냉장고 목록을 조회할 수 있습니다.
냉장고 안 재료 조회 | 냉장고 추가 | 냉장고 목록 |
---|---|---|
- 새로운 재료를 냉장고에 등록할 수 있고, 재료명, 유통기한, 수량 등을 입력하여 관리할 수 있습니다.
- 이미 등록된 재료의 정보인 재료명, 유통기한, 수량 등을 업데이트할 수 있습니다.
재료 등록 | 재료 상세 정보 | 재료 수정 |
---|---|---|
- 닉네임, 이메일, 성별, 나이 등 자신의 프로필 정보를 조회할 수 있습니다.
- 프로필 정보를 수정할 수 있고, 알러지 정보를 입력 및 수정할 수 있습니다.
마이 페이지 | 회원 정보 수정 | 알러지 정보 수정 |
---|---|---|
- 사용자가 자신의 냉장고를 다른 사용자와 공유할 수 있습니다.
- 공유할 사용자를 검색하고, 공유할 냉장고를 선택하여 냉장고 공유 요청을 보냅니다.
- 공유 요청을 받은 사용자는 요청을 수락하거나 거절할 수 있습니다.
- 가족이나 동거인 등 다른 사람과 함께 냉장고를 관리할 수 있습니다.
냉장고 공유하기 | 사용자 검색 | 공유할 냉장고 선택 |
---|---|---|
공유 요청한 사용자 | 공유 요청 받은 사용자 | 공유 수락 |
---|---|---|
- 기존 추천 모델의 단점인 cold-start와 long-tail을 해결했습니다.
- 사용자 기반 필터링과 아이템 기반 필터링을 모두 고려합니다.
- 모델_설명_이동하기
- chrome 설정 -> 설정 -> 보안 -> 고급 -> 항상 보안 연결 사용
- https://3.35.140.200:8443/ 접속하여 고급 -> 안전하지 않음으로 이동 -> hi 확인 후 배포 URL로 접속
- 배포 URL : https://ohgwanghoon.github.io/yorijori/
├── main
│ ├── java
│ │ └── still88
│ │ └── backend
│ │ ├── domain
│ │ │ ├── ingredient
│ │ │ │ ├── controller
│ │ │ │ └── service
│ │ │ ├── login
│ │ │ │ ├── controller
│ │ │ │ └── service
│ │ │ ├── recipe
│ │ │ │ ├── controller
│ │ │ │ └── service
│ │ │ ├── recommend
│ │ │ │ ├── controller
│ │ │ │ └── service
│ │ │ ├── refrige
│ │ │ │ ├── controller
│ │ │ │ └── service
│ │ │ ├── share
│ │ │ │ ├── controller
│ │ │ │ └── service
│ │ │ └── user
│ │ │ ├── controller
│ │ │ └── service
│ │ ├── dto
│ │ │ ├── IdPassword
│ │ │ ├── ingredient
│ │ │ ├── likes
│ │ │ ├── recipe
│ │ │ ├── recommend
│ │ │ ├── refrige
│ │ │ ├── share
│ │ │ └── user
│ │ ├── entity
│ │ └── repository
│ └── resources
├── lib
│ ├── model
│ ├── provider
│ ├── screens
│ │ ├── MyRefrigerator
│ │ ├── ingredientMoreInfo
│ │ ├── ingredientRegister
│ │ ├── login
│ │ ├── myPage
│ │ ├── recipeSearch
│ │ └── register
│ ├── service
│ └── widget
└── test
이번 프로젝트를 통해 팀원들과 함께 성장하고, 실제 사용자에게 도움이 되는 서비스를 개발할 수 있어서 정말 뿌듯합니다. 더 완성도 있고 탄탄한 서비스를 만들어낼 수 있도록 계속해서 발전해 나가고 싶습니다. 앞으로도 이러한 경험을 밑거름으로 더욱 성장해 나가겠습니다! 수고하셨습니다👏
교수님의 지도와 조언 덕분에 프로젝트를 성공적으로 마무리할 수 있었습니다. 많이 배우고 성장할 수 있는 기회를 주셔서 감사합니다!
이상으로 공개SW프로젝트 아직88하조의 요리조리였습니다. 👀🍳