Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 24 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# 28Delivery BackEnd

## 팀원 소개

|||
|-----------------|----------------------------------|
| 최동인 | <ul><li>팀장</li><li>API 설계</li><li>Restaurant/Menu/Category API 개발 및 테스트</li><li>리팩토링</li><li>프로젝트 총괄 관리</li></ul> |
| 조규성 | <ul><li>DB 설계</li><li>Menu API 개발 및 테스트</li><li>AI API 적용</li><li>CI/CD 배포</li><li>Swagger API 문서화</li></ul> |
| 강 민 | <ul><li>DB 설계</li><li>User API 개발 및 테스트</li><li>보안 및 인증</li><li>CI/CD 배포</li></ul> |
| 엄은진 | <ul><li>DB 설계</li><li>Address API 개발 및 테스트</li><li>Admin User API 개발 및 테스트</li><li>CI/CD 배포</li></ul> |
| 이소연 | <ul><li>API 설계</li><li>Order/Review/Payment API 개발 및 테스트</li><li>Admin Order/Review API 개발 및 테스트</li><li>리팩토링</li></ul> |

## 프로젝트 개요 및 목표

28Delivery BackEnd 프로젝트는 ‘00의 민족’과 같은 **주문 관리 플랫폼**의 백앤드 부분을 **스프링 부트 기반의 모놀리식** 방식으로 개발한 팀 프로젝트입니다. 이 팀 프로젝트의 목적은 광화문 근처에서 운영될 음식점들의 배달 및 포장 주문 관리, 결제, 그리고 주문 내역 관리 기능을 제공하는 플랫폼 개발하는 것입니다. 이에 대하여 28Delivery BackEnd 프로젝트는 기능별 API를 개발하여 프론트앤드 개발자에게 필요한 데이터를 제공해주며 이러한 기능들을 자동화하여 서비스로 개발하고 관리합니다.
Expand Down Expand Up @@ -38,12 +48,19 @@
- 사용자를 제외한 모든 엔티티의 식별자는 UUID 사용
- Audit 필드(created_at, created_by, updated_at, updated_by, deleted_at, deleted_by)로 데이터 감사 로그 기록
- 데이터 삭제시 소프트 삭제
- 유연한 검색을 위한 QueryDSL 사용, 페이지 구현에 사
- **인증 및 보안**
- JWT와 Spring Security를 활용한 인증 및 권한 관리
- BCrypt 해시 알고리즘을 사용한 비밀번호 암호화
- 빌드 설정간 시크릿 키는 .env로 사용하여 저장
- Spring Validator를 이용한 데이터 유효성 검사
- **테스트 코드**
- JUnit, Mockito 등을 활용한 단위 및 통합 테스트
- **배포 및 빌드**
- AWS EC2를 통한 독립적인 배포 환경 구성
- Docker & Docker-Compose를 이용한 컨테이너 별 빌드 설정
- Github Action 설정으로 버전 관리와 배포 파이프라인 자동화
- **테스트**
- JUnit, Mockito 등을 활용한 단위 및 통합 테스트


## 기술 스택

Expand All @@ -55,9 +72,9 @@
- **빌드 도구:** Gradle
- **테스트:** JUnit 5, Mockito, Spring Test
- **기타:** Lombok, Hibernate Validator
- **배포:** AWS EC2, Docker, Docker-compose
- **배포:** AWS EC2, Docker, Docker-Compose, Github Action
- **API:** Google AI Studio, 주소기반산업지원 서비스 API
- **버전 관리:** Git
- **버전 관리:** Git, Github

## ERD

Expand All @@ -70,7 +87,7 @@
![시스템 설계도](./image/system.png)

- 프론트앤드 부분은 담당 개발자가 개발 예정
- kubernates는 추후 MSA로 확잘할 때 사용 얘정
- kubernates는 추후 MSA로 확잘할 때 사용 예정

### 실행 방법

Expand All @@ -81,15 +98,5 @@
2. (관리자) 가게 생성 - 가게 주소 설정
3. (관리자) 메뉴 생성/수정
4. (고객) 가게 섬색 및 조회 - 메뉴 생성 및 조회 - 주문
5. (고객) 메뉴 리뷰 남기기기

## 팀원 소개

| | |
|-----------------|----------------------------------|
| 최동인 | <ul><li>팀장</li><li>API 설계</li><li>Restaurant/Menu/Category API 개발 및 테스트</li><li>리팩토링</li><li>프로젝트 총괄 관리</li></ul> |
| 조규성 | <ul><li>DB 설계</li><li>Menu API 개발 및 테스트</li><li>AI API 적용</li><li>CI/CD 배포</li><li>Swagger API 문서화</li></ul> |
| 강 민 | <ul><li>DB 설계</li><li>User API 개발 및 테스트</li><li>보안 및 인증</li><li>CI/CD 배포</li></ul> |
| 엄은진 | <ul><li>DB 설계</li><li>Address API 개발 및 테스트</li><li>Admin User API 개발 및 테스트</li><li>CI/CD 배포</li></ul> |
| 이소연 | <ul><li>API 설계</li><li>Order/Review/Payment API 개발 및 테스트</li><li>Admin Order/Review API 개발 및 테스트</li><li>리팩토링</li></ul> |

5. (고객) 주문시 결재 금액 확인 - 결재 진행 - 결재 완료 확
6. (고객) 메뉴 리뷰 남기기기