배달 앱 서비스 구현
필요한 의존성은 프로젝트 진행 상황에 따라 추가합니다.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
앱 설정 파일은 .yaml
형식을 사용합니다.
GitHub 프로젝트 탭을 생성하여 진행 상황을 관리합니다.
main
: 최종 배포 브랜치dev
: 개발 통합 브랜치feature#1_닉네임
: 기능 개발 브랜치 (예:feature#1_johndoe
)
커밋 메시지는 다음 형식을 따릅니다:
- 이슈 발행: 프로젝트 관리 도구에서 이슈를 발행합니다.
- 브랜치 생성: 이슈 번호를 포함한 브랜치를 만듭니다. (예:
#1
) - 커밋 메시지: 커밋 메시지에도 이슈 번호를 포함합니다. (예:
#1
)
#2 - 내용(ex> menu entity 수정) : 개발 class, dependency, other files ..
커밋 내용
PR 메시지는 다음 형식을 따릅니다
💡 Feat : 기능 설명
상세 설명: API 개발, 엔티티 수정 등 관련 이슈 번호: #1, #3
- 이현욱:
- 조아영: 사용자, 배송
- 정호준: 주문, AI, 지역, 카테고리, 리뷰, 결제
- 이원영: 음식점, 메뉴, 고객센터, 공지사항
- setter의 경우에는 필요한 부분에 설정
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@Builder // 빌더 패턴 협의
@Getter
@Entity
@Table(name = "p_example")
public class Example {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Setter private String name;
// other fields and methods
}
- 기술 스택:
- 백엔드: Java, Spring Boot, JPA, PosterSQL
- AI 연동: Google Cloud AI
- 배포: Docker, AWS EC2
- 시스템 아키텍처:
- 모놀리식 아키텍처: 모든 기능이 단일 애플리케이션으로 통합된 구조.
- 데이터베이스: PostgresSQL을 사용하여 데이터 관리.
- AI API 연동: 외부 AI API와 통신하여 상품 설명을 생성.
- 주요 구성 요소:
- 사용자: 고객, 가게 주인, 관리자 별로 권한 관리� 및 저장하는 시스템
- 주문: 온라인 및 대면 주문을 처리 및 관리하는 시스템
- 결제: 카드 결제 정보를 처리 및 저장하는 시스템
- 상품: 상품에 관한 정보를 처리 및 저장하는 시스템
- AI: 시스템의 모든 주요 활동을 기록하는 감사 로그 시스템
- 리뷰: 리뷰에 관한 정보를 처리 및 저장하는 시스템
- 공지사항: 공지사항에 관한 정보를 처리 및 저장하는 시스템
- 고객센터: 사용자들의 질문 및 신고에 관한 정보를 처리 및 저장하는 시스템
- repository clone
git clone https://github.com/junghojune/sparta-project1.git
- yml 수정 각각의 상황에 맞게 build.gradle 및 yml 수정하셔야 합니다.
- 실행
./gradlew clean build ./gradlew bootRun
api test
API 테스트를 진행할 수 있습니다.