Skip to content

2024년 1학기 공개SW프로젝트 03분반 8조 아직88하조

License

Notifications You must be signed in to change notification settings

CSID-DGU/2024-01-CSC4004-03-StillStrong

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2024-01-CSC4004-03-StillStrong

2024년 1학기 공개SW프로젝트 03분반 8조 아직88하조

냉장고를 털고 싶을 땐? 요리조리

냉장고 속 음식이 소리 없이 유통기한을 넘기고 있나요?

오늘 저녁, 어떤 요리를 할지 고민 중이신가요?

요리보고 조리보고 🤔 요리조리에서 추천받아보세요!

스크린샷 2024-06-13 오전 4 12 06



🍳 프로젝트 소개

냉장고 속 식재료 기반 레시피 추천 및 식재료 관리 서비스, 요리조리 ✨

최근 1인 가구의 증가와 코로나19 팬데믹으로 인해 집에서 요리하는 인구가 급증하고 있으며, 이에 따라 냉장고 속 식재료 관리와 활용에 대한 필요성이 높아지고 있습니다. 요리조리는 냉장고 속 식재료를 효율적으로 관리하고, 이를 기반으로 맞춤형 레시피를 추천하는 스마트 요리 도우미 서비스입니다. 요리조리를 사용하여 재료 낭비를 최소화하고, 건강하고 지속 가능한 식생활을 도모할 수 있습니다.

👀 주요 기능

  • 냉장고 관리 : 식재료 추가, 삭제 및 수정이 가능하며, 유통기한을 자동으로 추적
  • 맞춤형 레시피 추천 : 사용자가 입력한 식재료와 사용자의 선호도, 알레르기 정보를 기반으로 맞춤형 레시피
  • 냉장고 공유 : 가족이나 동거인과 냉장고를 공유할 수 있는 기능을 제공하여 냉장고 속 재료를 함께 관리하고, 중복 구매 방지

👨‍👩‍👧‍👦 팀원 구성

이름 역할 GITHUB
서하은 팀장, 백엔드 개발 @haeun1107
조현우 백엔드, AI 개발 @Johyeonwoooooooo
오광훈 프론트엔드 개발 @ohgwanghoon
최민기 프론트엔드 개발 @mkchoii
김건우 프론트엔드 개발 @gnvvoo

⚔️ 기술 스택

개발 환경

  • OS : Windows MacOS
  • IDE : IntelliJ IDEA Android Studio Visual Studio Code
  • UI/UX : Figma
  • Database : MySQL
  • Server : AWS Ubuntu
  • Backend : Java Spring Gradle
  • Frontend : Flutter Dart
  • ML : Anaconda Python Flask NumPy scikit-learn TensorFlow Keras SciPy

🧬 브랜치 전략

브랜치 구조

  • frontend 브랜치 : 프론트엔드 개발용 브랜치
  • backend 브랜치 : 백엔드 개발용 브랜치
  • ML 브랜치 : 머신러닝 개발용 브랜치
  • main 브랜치 : 최종 개발 내용 브랜치
  • AWS_EC2 브랜치 : 프로덕션 배포용 브랜치

브랜치 전략

  1. develop 브랜치
    • 각 개발 영역(frontend, backend, ML)에서 개발을 진행하기 위해 frontend, backend, ML 브랜치로 나누어 작업
    • 새로운 기능 추가 시 각 develop 브랜치(frontend, backend, ML)에서 feature 브랜치를 생성하여 개발
    • 기능 추가 완료 시 feature 브랜치를 해당 develop 브랜치(frontend, backend, ML)로 merge
  2. main 브랜치
    • 모든 기능이 통합된 최종 개발 내용 브랜치
    • 각 develop 브랜치에서 안정화된 코드가 main 브랜치로 병합
    • 배포 전 main 브랜치에서 테스트를 거침.
  3. AWS_EC2 브랜치
    • 프로덕션 배포용 브랜치
    • main 브랜치에서 테스트를 완료한 후, AWS_EC2 브랜치로 merge하여 실제 서비스에 배포

📜 페이지별 기능

[로그인 및 회원가입]

  • 사용자가 이메일과 비밀번호를 입력하여 계정에 로그인할 수 있고, 로그인에 실패한 경우 경고 문구가 입력창 하단에 표시됩니다.
  • 이메일, 비밀번호, 이름 등을 입력하여 회원가입할 수 있으며, 회원가입 시 사용자의 취향과 알러지를 등록합니다.
로그인 회원가입 취향 등록 알러지 등록

[랜덤 레시피 추천]

  • 메인 페이지에서 사용자가 냉장고 속 재료와 상관없이 다양한 요리 아이디어를 얻을 수 있도록 랜덤으로 레시피를 추천해주는 기능으로, 기능을 통해 새로운 요리를 시도해 볼 수 있습니다.
랜덤 레시피 레시피 상세정보 레시피 상세정보 피드백
랜덤레시피 레시피상세정보1 레시피상세정보2 피드백

[재료 기반 레시피 추천]

  • 냉장고 속에 있는 식재료를 선택하면, 이를 기반으로 해당 재료를 활용한 레시피를 추천합니다.
  • 사용자의 식습관, 취향, 알러지 정보 등을 고려하여 맞춤형 레시피를 제안하고, 사용자 피드백을 실시간으로 반영하여 더욱 정확하고 개인화된 추천을 제공합니다.
재료 선택 레시피 추천 레시피 상세정보 피드백
image image image image

[마이 냉장고]

  • 냉장고에 있는 재료를 조회할 수 있고, 유통기한, 수량 등을 확인할 수 있습니다.
  • 새로운 냉장고를 추가할 수 있고, 사용자가 추가한 모든 냉장고 목록을 조회할 수 있습니다.
냉장고 안 재료 조회 냉장고 추가 냉장고 목록
냉장고 조회 요리조리냉장고 냉장고 목록

[재료 등록, 수정, 조회]

  • 새로운 재료를 냉장고에 등록할 수 있고, 재료명, 유통기한, 수량 등을 입력하여 관리할 수 있습니다.
  • 이미 등록된 재료의 정보인 재료명, 유통기한, 수량 등을 업데이트할 수 있습니다.
재료 등록 재료 상세 정보 재료 수정
image image image

[마이 페이지]

  • 닉네임, 이메일, 성별, 나이 등 자신의 프로필 정보를 조회할 수 있습니다.
  • 프로필 정보를 수정할 수 있고, 알러지 정보를 입력 및 수정할 수 있습니다.
마이 페이지 회원 정보 수정 알러지 정보 수정
image image image

[냉장고 공유하기]

  • 사용자가 자신의 냉장고를 다른 사용자와 공유할 수 있습니다.
  • 공유할 사용자를 검색하고, 공유할 냉장고를 선택하여 냉장고 공유 요청을 보냅니다.
  • 공유 요청을 받은 사용자는 요청을 수락하거나 거절할 수 있습니다.
  • 가족이나 동거인 등 다른 사람과 함께 냉장고를 관리할 수 있습니다.
냉장고 공유하기 사용자 검색 공유할 냉장고 선택
image image image
공유 요청한 사용자 공유 요청 받은 사용자 공유 수락
image image image

[레시피추천모델]

  • 기존 추천 모델의 단점인 cold-start와 long-tail을 해결했습니다.
  • 사용자 기반 필터링과 아이템 기반 필터링을 모두 고려합니다.
  • 모델_설명_이동하기

📷 시연 영상



📢 배포 URL



📁 프로젝트 파일 구조

├── 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하조의 요리조리였습니다. 👀🍳

About

2024년 1학기 공개SW프로젝트 03분반 8조 아직88하조

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published