Skip to content

[BE] 프로젝트 구조 Ver.2

장현호 Hyunho Jang edited this page Oct 1, 2024 · 5 revisions

이너서클 1기 커머스 프로젝트 구조 (서비스 & 관리자 통합) Ver.2

멀티모듈 구조 참고자료 - @진태양 리더님

적용된 아키텍처 요약

멀티모듈 구조

📁 commerce-admin
📁 commerce-service
|_ 📁 commerce-auth # 회원 서비스
|_ 📁 commerce-order # 주문 서비스
|_ 📁 commerce-product # 상품 서비스
📁 commons
|_ 📁 common-jwt # 인증
|_ 📁 common-util # util
|_ 📁 common-web # 공통 처리 (응답, 예외)
|_ 📁 model # 도메인
|_ 📁 persistence-database # JPA 엔티티

모듈 내 구조

commerce-service/commerce-[도메인]

📁 commerce-[도메인]
|_ 📁 docs # API 문서(Spring REST Docs)
|_ 📁 main 
|_ |_ 📁 application # 도메인 서비스
|_ |_ |_ 📁 service # 구현체
|_ |_ |_ 📁 usecase
|_ |_ |_ |_ 📁 command
|_ |_ |_ |_ 📁 dto
|_ |_ |_ |_ 📁 exception
|_ |_ |_ |_ [도메인]UseCase.kt # 인터페이스
|_ |_ 📁 config # 설정
|_ |_ 📁 controller 
|_ |_ |_ 📁 request
|_ |_ |_ 📁 response
|_ |_ |_ [도메인]Controller.kt
|_ |_ [도메인]Application.kt
|_ |_ [도메인]Configuration.kt
|_ 📁 test 

commons/common-jwt

|_ 📁 main 
|_ |_ 📁 application # jwt 기능
|_ |_ |_ 📁 service
|_ |_ |_ 📁 usecase
|_ |_ 📁 config # 설정
|_ |_ |_ JwtAuthenticationFilter.kt

commons/model

|_ 📁 main 
|_ |_ 📁 model # 도메인
|_ |_ |_ 📁 [도메인]
|_ |_ |_ |_ [도메인].kt # 도메인 객체
|_ |_ |_ |_ [도메인]Repository.kt # 인터페이스
|_ |_ |_ 📁 [도메인]
|_ |_ |_ 📁 [도메인]
|_ |_ |_ 📁 [...]
|_ |_ |_ 📁 util # 페이지네이션

commons/persistence-database

|_ 📁 main 
|_ |_ 📁 persistence # JPA 엔티티
|_ |_ |_ 📁 [엔티티]
|_ |_ |_ |_ [엔티티]JpaEntity.kt # JPA 엔티티 객체
|_ |_ |_ |_ [엔티티]JpaRepository.kt # 인터페이스
|_ |_ |_ |_ [엔티티]JpaRepositoryImpl.kt # 구현체 
|_ |_ |_ 📁 [엔티티]
|_ |_ |_ 📁 [엔티티]
|_ |_ |_ 📁 [...]
|_ |_ |_ 📁 util # 페이지네이션
|_ |_ |_ BaseEntity.kt
|_ |_ |_ BaseTimeEntity.kt
|_ |_ |_ PersistenceConfiguration.kt

🚚... 커머스 프로젝트

이너서클 1기

🧑🏼‍🎨공통

🧑🏻‍💻백엔드

👨🏻‍🏫멘토링 일지


커머스 5&6 백엔드팀 스토리

이너서클 MVP 발표회 발표자: $\small{\color{#5ad7b7}@이호준}$
이너서클 최종 발표회 발표자: $\small{\color{#5ad7b7}@이재훈}$

Clone this wiki locally