레시피 공유소: 레시피 공유소 바로가기
API 명세서 : Swagger 바로가기
레시피 공유소 노션 : 노션 바로가기
ERD : ERD 바로가기
- 요리 공유소는 집 냉장고에 있는 재료를 활용해 만들 수 있는 요리 레시피를 찾아 요리하고, 그 경험을 다른 사용자들과 공유할 수 있는 플랫폼입니다. 사용자는 자신의 냉장고에 있는 재료들을 입력하면, 해당 재료로 만들 수 있는 다양한 요리 레시피를 검색할 수 있습니다. 이를 통해 새로운 요리에 도전하고, 요리의 재미를 느낄 수 있습니다.
- 재료 기반 레시피 검색: 사용자가 입력한 재료를 바탕으로 적합한 요리 레시피를 제안합니다.
- 레시피 선택 및 요리: 사용자는 제안된 레시피 중 하나를 선택하여 요리를 만들 수 있습니다.
- 후기 작성 및 공유: 요리를 완료한 후, 사용자는 요리 후기를 작성하여 다른 사용자들과 경험을 공유할 수 있습니다.
- 다양한 요리 팁 제공: 각 레시피에는 요리를 더 맛있게 만들기 위한 팁과 노하우가 포함되어 있어, 요리 초보자도 쉽게 따라할 수 있습니다.
- 이 서비스는 단순한 레시피 제공을 넘어, 사용자 간의 소통과 공유를 통해 요리에 대한 흥미를 지속적으로 유발시키는 것을 목표로 합니다.
- 다양한 재료와 요리법을 통해 사용자들이 새로운 맛을 발견하고, 요리의 즐거움을 느낄 수 있도록 도와줍니다.
2024.03.15 ~ 2024.07.17
로그인 및 로그아웃
아이디/ 비밀번호 찾기
실시간 알림
관리자 페이지
- 현 사이트에 작성된 레시피 수, 게시글 수, 유저 수, 방문자 수, 통계표를 볼 수 있는 페이지입니다.
- 관리자는 사용자를 강제로 추방할 수 있습니다. 추방 시 가입한 이메일로 추방 안내 메일이 발송되게 되며, 추후 해당 이메일은 블랙리스트 등록되며 관리자가 해제하기 전까지 추방된 메일로는 회원가입이 불가합니다.
- 문의사항 등록 시 관리자에게 문의사항 알림이 전송됩니다.
- 게시글을 모두 조회할 수 있으며, 해당 게시글의 작성된 댓글을 모두 볼 수 있으며 댓글과 게시글에 대해 삭제 가능합니다.
- 관리자는 레시피의 대해서 새롭게 등록이 가능합니다.
- 관리자는 레시피에 대해서 수정이 가능하며, 조리 순서, 재료 등을 추가 가능합니다.
- 공지사항에 대해서 수정, 삭제, 등록이 가능합니다(이전과 동작 방식은 동일하여 참고 영상 생략)
- 관리자는 문의사항에 대해서 답변이 가능합니다. 문의사항 답변 등록 시 사용자에게 알림이 가며, 이메일 받기 체크 시 이메일로도 답변 작성 알림이 전송됩니다.
- 관리자가 추방 시 블랙리스트의 추방한 이메일에 대해서 등록이 되며, 해당 이메일에 대해 차단해 제 여부를 선택합니다.(해제 기능은 삭제와 동일하여 사진 생략)
문의 하기
- 문의사항에 대해서 질문 등록이 가능합니다. 이메일 알림 체크 시 해당 이메일로 답변 등록 시 알림 전송
- 관리자가 답변에 대해 등록이 되었을 때 답변 작성 알림이 전송되며, 이메일 알림 체크 시 이메일로 답변 알림 전송됩니다.
마이페이지
- 마이페이지 최초 접근 시 비밀번호 검증을 통해 마이페이지 접근 가능.
- 비밀번호 검증 성공 시 20분간 채 접근이 가능한 쿠키 발급(소셜 로그인 사용자는 비밀번호 검증을 하지 않습니다.)
- 일반 로그인, 소셜 로그인 사용자는 닉네임 변경이 가능합니다.
- 일반 로그인 사용자만 변경이 가능 합니다.
- 이메일 변경은 일반 로그인 사용자만 가능하며 소셜 로그인 사용자는 불가합니다.
- 작성한 게시글을 볼 수 있으며 수정 삭제 가능합니다.
- 게시글, 레시피의 좋아요 즐겨찾기 내역을 수정, 삭제, 조회 가능합니다.
- 일반 로그인 사용자는 소셜 로그인가 동일 동작, 회원 탈퇴 시 사용자와 관련된 데이터 모두 삭제됩니다.
요리 게시글
- 레시피 상세 페이지에서 해당 레시피의 게시글을 바로 작성가능합니다.
- 게시글 등록시 게시글명을 통해 검색후 선택한 레시피의 대해서 게시글이 등록가능합니다.
■ 비작성자 삭제시
- 작성자만 게시글 수정, 삭제 가능하며 게시글 등록시 등록했던 비밀번호를 통해서 사용자 검증
- 사용자는 게시글에 대해서 좋아요 기능을 사용 가능합니다.
- 게시글의 댓글을 작성 가능합니다.
디렉토리 구조
com
└─ team
└─ RecipeRadar
├─ domain // 도메인 관련 디렉터리
│ ├─ account // 계정 찾기
│ │ ├─ api
│ │ ├─ application
│ │ ├─ dao
│ │ ├─ domain
│ │ └─ dto
│ ├─ blackList // 블랙리스트
│ │ ├─ api
│ │ ├─ application
│ │ ├─ dao
│ │ ├─ domain
│ │ └─ dto
│ ├─ bookmark // 레시피 즐겨 찾기
│ │ ├─ api
│ │ ├─ application
│ │ ├─ dao
│ │ ├─ domain
│ │ └─ dto
│ ├─ comment //댓글 관련
│ │ ├─ api
│ │ ├─ application
│ │ ├─ dao
│ │ ├─ domain
│ │ └─ dto
│ ├─ email // 이메일 관련
│ │ ├─ api
│ │ ├─ application
│ │ ├─ dao
│ │ ├─ domain
│ │ ├─ dto
│ │ └─ event // 이메일 이벤트
│ ├─ Image //이미지 관련
│ │ ├─ application
│ │ ├─ dao
│ │ └─ domain
│ ├─ like // 좋아요 관련
│ │ ├─ api
│ │ ├─ application
│ │ ├─ dao
│ │ ├─ domain
│ │ └─ dto
│ ├─ member // 사용자 관련
│ │ ├─ api
│ │ │ ├─ admin
│ │ │ └─ user
│ │ ├─ application
│ │ │ ├─ admin
│ │ │ └─ user
│ │ ├─ dao
│ │ ├─ domain
│ ├─ notice // 공지사항 관련
│ │ ├─ api
│ │ │ ├─ admin
│ │ │ └─ user
│ │ ├─ application
│ │ │ ├─ admin
│ │ │ └─ user
│ │ ├─ dao
│ │ ├─ domain
│ │ └─ dto
│ ├─ notification // 알림 관련
│ │ ├─ api
│ │ ├─ application
│ │ ├─ dao
│ │ ├─ domain
│ │ └─ dto
│ ├─ post // 게시글 관련
│ │ ├─ api
│ │ │ ├─ admin
│ │ │ └─ user
│ │ ├─ application
│ │ │ ├─ admin
│ │ │ └─ user
│ │ ├─ dao
│ │ ├─ domain
│ │ └─ dto
│ ├─ qna // 문의사항 관련
│ │ ├─ api
│ │ │ ├─ admin
│ │ │ └─ user
│ │ ├─ application
│ │ │ ├─ admin
│ │ │ └─ user
│ │ ├─ dao
│ │ │ ├─ answer // 답변
│ │ │ └─ question // 문의사항
│ │ ├─ domain
│ │ └─ dto
│ ├─ recipe // 레시피 관련
│ │ ├─ api
│ │ │ ├─ admin
│ │ │ └─ user
│ │ ├─ application
│ │ │ ├─ admin
│ │ │ └─ user
│ │ ├─ dao
│ │ │ ├─ ingredient // 재료
│ │ │ └─ recipe
│ │ ├─ domain
│ │ │ └─ type
│ │ └─ dto
└─ visit // 방문자 집계
├─ api
├─ application
├─ dao
├─ domain
└─ dto
└─ global // 전역 관련
├─ annotations // 커스텀 에노테이션
├─ aop // AOP 설정
├─ auth // 보안 관련
│ ├─ api
│ ├─ application
│ ├─ dao
│ ├─ domain
│ └─ dto
├─ config // 설정 관련
├─ exception // 예외 관련
├─ payload // 응답 값 형식
├─ security // 스프링 시큐리티 관련
│ ├─ basic // 인증 사용자 정보
│ ├─ exception // 시큐리티 예외
│ ├─ jwt // JWT 관련
│ │ ├─ filter // 시큐리티 필터
│ │ └─ provider // JWT 프로바이져
│ └─ oauth2 // OAuth 2 관련
│ ├─ application
│ │ └─ impl
│ └─ provider // 소셜로그인 프로바이저
└─ utils // 유틸
- 커밋 메시지
- 적절한 커밋 접두사 작성
- 커밋 메시지 내용 작성
| Tag Name | Description |
|---|---|
| feat | 새로운 기능 |
| refactor | 프로덕션 코드 리팩토링 |
| docs | 문서 수정 |
| test | 테스트 코드, 리펙토링 테스트 코드 추가, Production Code(실제로 사용하는 코드) 변경 없음 |
| chore | 빌드 업무 수정, 패키지 매니저 수정, 패키지 관리자 구성 등 업데이트, Production Code 변경 없음 |
| remove | 프로덕션 코드 삭제 및 디렉터리 삭제 |
| rename | 디렉터리 이름변경 및 폴더 이동 |
| fix | 버그수정 |










