Skip to content

YuJeeun/be09-1st-3minutesqueryteam-honbabsekki

 
 

Repository files navigation

🍚🍴 혼밥세끼

배너 이미지 칸

🍛 Group 3 Team Member - 3 Minute Query

조창욱 이나현 김민석 유제은 김정모 송의혁

ESTJ

ENTJ

E(I)STP

INFP

INFJ

ESFP

🎬🎞️ 프로젝트 개요

01_ 프로젝트 주제

1인 가구를 위한 레시피와 식재료 공유 커뮤니티 및 사용자 추천 기반 밀키트 판매 서비스

02_ 프로젝트 소개

"맛과 건강을 한 번에! 자취생과 1인 가구를 위해 만든 서비스입니다. 사용자들은 자신만의 레시피를 공유하고, 인기 있는 레시피는 밀키트로 제작되어 구매할 수 있습니다. 자취생과 1인 가구가 손쉽게 요리하고, 식단을 체계적으로 관리할 수 있도록 도와줍니다. 함께하는 즐거움과 건강한 식단 관리를 경험해보세요 😁"

03_ 프로젝트 필요성

1. 증가하는 1인 가구
24년 4월 9일 행정안전부의 주민등록 인구 통계를 보면, 지난 3월 기준 전국의 1인 가구는 1002만1413가구로, 인구통계 집계 이래 처음으로 1000만 가구를 넘어섰습니다.이는 우리나라 전체 2400만2008가구 중 41.8%를 차지한다고 할정도로 1인가구가 증가하는 추세입니다. 이러한 추세는 1인 가구를 위한 맞춤형 서비스의 필요성을 강조합니다.

출처:행정안전부(https://jumin.mois.go.kr/)


2. 증가하는 밀키트 시장
한국수산경제 조사에 따르면, 2023년 전 세계 밀키트 시장 규모는 전년 대비 7.8% 증가하여 약 149억6600만 달러(한화 약 19조4707억 원)에 이를 것으로 예상됩니다. 밀키트 시장은 코로나19 팬데믹으로 인해 급격히 성장했으며, 특히 1인 가구의 증가로 인해 밀키트의 편리함과 수요가 꾸준히 증가하고 있습니다. 저희 서비스는 이러한 트렌드를 반영하여, 1인 가구가 보다 건강하고 맛있는 식사를 손쉽게 즐길 수 있도록 지원합니다.

출처 : 한국수산경제(http://www.fisheco.com)

04_ 프로젝트 주요 기능

  • 사용자는 식재료별 레시피를 확인, 제작할 수 있습니다.

  • 추천을 많이 받은 레시피는 밀키트로 제작되어 구매가 가능합니다.

  • 캘린더를 통해 식단관리를 할 수 있습니다.

  • 커뮤니티를 통해 식재료 교환이나 공구가 가능합니다.

  • 자취 노하우를 공유할 수 있습니다.


05_ 서비스 차별화 전략

  • 혼밥세끼는 자사 밀키트와 함께 사용자가 올린 레시피를 밀키트로 제작하여 판매합니다. 이제 좋아하는 레시피를 밀키트로 만들어 손쉽게 즐길 수 있습니다.

  • 혼밥세끼는 식재료 교환과 공구를 통해, 자취생들이 식비를 절감하고 낭비를 줄일 수 있습니다.


⚙️🛠️ Technical Stack

DB

MariaDB

Tool

       


🗓️ WBS

image

🔀 플로우차트

image

🗃️ 요구사항

image



📊 DB모델링

01_ 개념적 모델링

image

02_ 논리적 모델링

image

03_ 물리적 모델링

image


💾 Replication

🔎 ABOUT Replication

image

➡️ 수행과정
1)   클라이언트(Application)에서 Commit 을 수행한다.
2)   Connection Thead 는 스토리지 엔진에게 해당 트랜잭션에 대한 Prepare(Commit 준비)를 수행한다.
3)   Commit 을 수행하기 전에 먼저 Binary Log 에 변경사항을 기록한다.
4)   스토리지 엔진에게 트랜잭션 Commit 을 수행한다.
5)   Master Thread 는 시간에 구애받지 않고(비동기적으로) Binary Log 를 읽어서 Slave 로 전송한다.
6)   Slave 의 I/O Thread 는 Master 로부터 수신한 변경 데이터를 Relay Log 에 기록한다. (기록하는 방식은 Master 의 Binary Log 와 동일하다)
7)   Slave 의 SQL Thread 는 Relay Log 에 기록된 변경 데이터를 읽어서 스토리지 엔진에 적용한다.

일반적인 분산 시스템에서는 Application의 고가용성을 위해 내부적으로 Replication이 동작하게 되는데 이러한 Replication 동작의 구현은 어려운 영역이면서, Application의 성능과 직접적으로 연관된 영역입니다. 리플리케이션(Replication)은 데이터베이스 시스템에서 데이터의 복제본을 생성하고 유지하는 기술입니다. 이를 통해 데이터의 가용성을 높이고, 부하를 분산시키며, 데이터 보호를 강화할 수 있습니다.

또한, 일반적으로 Master-Slave 구조를 기반으로 하는 리플리케이션 방법이 많이 사용됩니다. Master서버는 데이터의 변경에 대한 처리를 담당하며 변경 발생 시, binary log에 기록하고 Slave 서버로 전달합니다. Slave 서버는 Master 서버로부터 전달 받은 binary log를 통해 DB에 반영하고 조회의 부담을 담당하여 서버의 부하를 분산 시키는 역할을 합니다.

binary log: DB에서 발생하는 모든 내역이 기록되는 파일


✅ 01_연동확인

Click_[영상보기]

✅ 02_slave read-only 옵션 확인

Click_[영상보기]

⏳⏰ 테스트케이스 코드 및 실행

👨‍💼 회원 정보 관리
1. 회원가입
2. 회원 탈퇴
3. 회원정보 수정
4. 회원정보 조회

🕵️‍♀️ 관리자 정보 관리
1. 관리자 가입
2. 관리자 탈퇴
3. 관리자 정보 수정
4. 관리자 정보 조회

🥘 일반 밀키트 정보 관리
1. 일반 밀키트 상품 등록
2. 일반 밀키트 상품 수정
3. 일반 밀키트 상품 삭제
4. 일반 밀키트 상품 조회
5. 일반 밀키트 상품 키워드 조회
6. 일반 밀키트 상품 범위 조회
7. 일반 밀키트 상품 리뷰 등록
8. 일반 밀키트 상품 리뷰 수정
9. 일반 밀키트 상품 리뷰 삭제
10. 일반 밀키트 상품 리뷰 조회

🍱 베스트 레시피 밀키트 정보 관리
1. 베스트 레시피 밀키트 상품 등록
2. 베스트 레시피 밀키트 상품 수정
3. 베스트 레시피 밀키트 상품 삭제
4. 베스트 레시피 밀키트 상품 조회
5. 베스트 레시피 밀키트 상품 키워드 조회
6. 베스트 레시피 밀키트 상품 범위 조회
7. 베스트 레시피 밀키트 상품 리뷰 등록
8. 베스트 레시피 밀키트 상품 리뷰 수정
9. 베스트 레시피 밀키트 상품 리뷰 삭제
10. 베스트 레시피 밀키트 상품 리뷰 조회

🧺 장바구니 관리
1. 장바구니 추가
2. 장바구니 수정
3. 장바구니 삭제
4. 장바구니 보기

💸 주문 관리
1. 주문진행
2. 주문수정
3. 주문취소
4. 주문내역조회

🥑 식재료 게시글 관리
1. 식재료 게시글 등록
2. 식재료 게시글 수정
3. 식재료 게시글 삭제
4. 식재료 게시글 조회
5. 식재료 게시글 검색
6. 식재료 게시글 댓글 등록
7. 식재료 게시글 댓글 수정
8. 식재료 게시글 댓글 삭제
9. 식재료 게시글 댓글 조회

🧑‍🍳 레시피 게시글 관리
1. 레시피 게시글 등록
2. 레시피 게시글 수정
3. 레시피 게시글 삭제
4. 레시피 게시글 조회
5. 레시피 게시글 키워드 검색
6. 레시피 게시글 조건별 검색
7. 게시글 좋아요 등록
8. 게시글 좋아요 취소
9. 게시글 좋아요 개수 조회
10. 레시피 댓글 등록
11. 레시피 댓글 수정
12. 레시피 댓글 삭제
13. 레시피 댓글 조회
14. 분기별 베스트 레시피 게시글 조회
레시피 별 좋아요 수 조회
분기별 최대 좋아요 수 조회

🏃‍♂️ 식단 기록 관리
  1 .식단 기록 등록
 2. 식단 기록 수정
 3. 식단 기록 삭제

📖 목록 조회
1. 좋아요 목록 조회
2. 댓글 목록 조회
3. 게시 목록 조회


📑 테스트케이스 문서

image



📉 주요쿼리

🔫좋아요 TRIGGER 1. recipe 좋아요 등록시 recipe 테이블의 좋아요 수 증가 2. recipe 좋아요 삭제시 recipe 테이블의 좋아요 수 감소

🔫주문 TRIGGER 1. 장바구니에 담아 주문 2. 주문시 재고수량 0미만일 경우 에러발생 3. 주문취소

📜 동료평가

Team Member 동료평가
조창욱 조창욱님은 리더로서의 역할을 훌륭히 수행하며 팀을 이끌어주셨습니다. 추진력이 뛰어나 어려움 없이 팀 프로젝트가 잘 마무리될 수 있도록 해주셨습니다. 팀원들의 역할을 적절히 분담하고, 부족한 점을 잘 캐치하여 보완하는 능력이 뛰어나셨습니다. 문제를 해결하는 데 앞장서며 팀의 사기를 높여주는 역할도 해주셨습니다. 모르는 부분을 친절하게 설명해주셔서 팀원들이 많이 배울 수 있었습니다.
이나현 이나현님은 프로젝트의 핵심 주제를 선정하는 데 큰 도움을 주셨습니다. 항상 긍정적인 에너지로 팀 분위기를 밝게 만들어주셨습니다. 프로젝트 구성의 전체적인 틀을 잡아주는 큰 역할을 하셨고, 맡은 일을 묵묵히 끝까지 해결하는 모습이 인상적이었습니다. 계속적인 소통으로 프로젝트를 발전시키는 모습이 좋았습니다.
김민석 김민석님은 팀 분위기를 재밌게 만들어 주시며, 실전에서는 누구보다 진지한 모습을 보이셨습니다. 프로젝트 진행 중 적극적으로 나서서 팀의 중심을 잡아주셨고, 책임감 있게 프로젝트를 이끌어주셨습니다. 발표 능력이 뛰어나 발표에서도 큰 역할을 하셨습니다. 활발히 소통하며 프로젝트의 방향을 잡아주셨고, 팀원들의 피드백을 적극적으로 수용하는 자세가 좋았습니다.
유제은 유제은님은 책임감이 강하고 팀원들이 어려움을 겪을 때 주저하지 않고 도움을 주셨습니다. 세심한 배려와 경청으로 팀원들을 잘 챙겨주셨습니다. 귀찮을 수 있는 일들을 솔선수범하여 처리하며 팀의 신뢰를 받았습니다. 번뜩이는 아이디어와 높은 에너지로 팀 분위기를 긍정적으로 유지해주셨습니다.
김정모 김정모님은 상상력이 뛰어나고 팀원들의 의견을 잘 경청하였습니다. 묵묵히 맡은 일을 열심히 하여 프로젝트가 원활하게 진행될 수 있도록 했습니다. 성실함과 책임감으로 팀의 든든한 버팀목이 되어주셨습니다. 세심한 관찰력으로 프로젝트의 완성도를 높이는 데 큰 기여를 하셨습니다.
송의혁 송의혁님은 팀의 분위기를 조화롭게 만드는 능력이 뛰어나셨고, 적극적으로 의견을 내주시는 아이디어 뱅크 그 자체였습니다. 주제 구체화 때 좋은 아이디어를 많이 내어 프로젝트의 핵심 기능을 정하는 데 큰 기여를 했습니다. 적극적으로 궂은 일도 마다하지 않고 해결하는 모습이 인상적이었으며, 이를 통해 많은 것을 배울 수 있었습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published