피드백 받고 수정예정
프로젝트 개요
*프로젝트 목표
1. 데이터베이스와 ORM
- 데이터베이스와 스키마를 설계
- JPA를 이용해 데이터베이스와 연동
- JPA를 통해 CRUD 작업
2. 인가
- 인가 개념을 구현하여 접근 권한을 다르게 설정
3. 협업 및 버전 관리
- Git을 사용해 소스 코드 버전 관리
- Git branch를 이용해 브랜치 관리 및 원활한 협업
- Pull Request와 코드 리뷰 과정에 대해 이해
*프로젝트 필수 기능 가이드
1. 회원가입 / 로그인
- 회원가입
- 사용자 아이디 : 이메일 형식
- 비밀번호
- Bcrypt로 인코딩 : 암호화를 위한 PasswordEncoder를 직접 만들어 사용
- 대소문자 포함 영문 + 숫자 + 특수문자를 최소 1글자씩 포함
- 비밀번호는 최소 8글자 이상
- 권한
- 회원가입 시 일반 유저 또는 사장님으로 가입
- 권한에 따라 사용할 수 있는 기능이 나뉘어짐
- 회원 탈퇴
- 탈퇴 처리 시 비밀번호를 확인한 후 일치할 때 탈퇴처리
- 탈퇴한 사용자의 아이디는 재사용할 수 없고 복구할 수 없음
- 로그인
- 가입한 아이디와 비밀번호로 로그임
2. 가게
- 가게 생성/수정
- 가게는 오픈 및 마감시간이 존재
- 최소 주문 금액 존재
- 예외처리
- 사장님 권한을 가진 유저만 가게를 만들 수 있고, 최대 3개의 가게를 운영할 수 있음(폐업상태가 아닌 가게)
- 가게 조회
- 가게명으로 가게를 여러건 찾을 수 있음
- 가게 다건 조회시에는 메뉴 목록을 함께 볼 수 없음
- 가게 단건 조회 시 등록된 메뉴 목록도 함께 볼 수 있음
- 가게 폐업
- 폐업 시 가게의 상태만 폐업 상태로 변경
- 일반 유저는 폐업된 가게를 조회할 수 없음
- 사장님은 가게를 추가로 등록할 수 있게 됨
3. 메뉴
- 메뉴 생성/수정
- 메뉴 생성, 수정은 사장님만 할 수 있음
- 사장님은 본인 가게에만 메뉴를 등록할 수 있음
- 메뉴 조회
- 메뉴를 단독으로 조회할 수 없고, 가게 조회 시 함께 조회
- 메뉴 삭제
- 본인 가게의 메뉴만 삭제 가능
- 삭제 시 메뉴의 상태만 삭제 상태로 변경
- 가게 메뉴 조회 시 삭제된 메뉴는 나타나지 않음
- 주문 내역 조회 시 삭제된 메뉴의 정보도 나타남
4. 주문
- 고객은 메뉴를 주문할 수 있음
- 각 주문에는 하나의 메뉴만 주문할 수 있음
- 사장님은 주문을 수락할 수 있으며, 배달이 완료될 때까지의 모든 상태를 순서대로 변경
- 주문완료 -> 주문수락 -> 조리중 -> 조리완료 -> 배달중 -> 배달완료
- 예외처리
- 가게에서 설정한 최소 주문금액을 만족해야 주문이 가능
- 가게의 오픈/마감 시간이 지나면 주문할 수 없음
5. 리뷰
- 리뷰 생성
- 고객은 주문 건에 대해 리뷰를 작성할 수 있음
- 리뷰는 별점을 부여(1~5점)
- 배달 완료되지 않은 주문은 리뷰를 작성할 수 없음
- 리뷰 조회
- 리뷰는 단건 조회할 수 없음
- 리뷰는 가게 정보를 기준으로 다건 조회 가능
- 생성일자 기준 최신순 정렬
- 본인이 작성한 리뷰는 보이지 않음
- 리뷰를 별점 범위에 따라 조회할 수 있음
ERD 설계
API 명세서
'내배캠 > 프로젝트, 개인과제 코드&내용정리' 카테고리의 다른 글
[내일배움캠프/백엔드] Spring 심화. 아웃소싱 프로젝트 발표 자료 (1) | 2024.12.07 |
---|---|
[내일배움캠프/백엔드] Spring 심화 개인과제 Lv0. API 명세 및 ERD, SQL 작성하기 (2) | 2024.11.28 |
[내일배움캠프/백엔드] Spring 숙련. 뉴스 피드 프로젝트 발표 (0) | 2024.11.25 |
[내일배움캠프/백엔드] Spring 숙련. 뉴스 피드 프로젝트 3일차 (0) | 2024.11.21 |
[내일배움캠프/백엔드] Spring 숙련. 뉴스 피드 프로젝트 개발시작 (1) | 2024.11.20 |