Skip to content

YeolJyeongKong/fittering-BE

Repository files navigation

핏터링(fittering) Back-end

핏터링은 체형 분석을 쉽게 하고, 나의 체형에 fit한 옷을 추천해주는 쇼핑몰 서비스입니다.
fittering-BE는 핏터링 서비스의 백엔드 코드를 관리하는 레포지토리입니다.

📆 개발 기간

  • 2023.06 ~ 2023.11

프로젝트 구조

다음은 fittering-BE 구조입니다.
MVC 패턴에 맞게 디렉토리를 분리했으며, 각 레벨에서 DTO를 관리하도록 구성했습니다.

src
├─ main
│  ├─ java
│  │  └─ fittering
│  │     └─ mall
│  │        ├─ config
│  │        │  ├─ auth
│  │        │  │  └─ domain
│  │        │  ├─ cache
│  │        │  ├─ jwt
│  │        │  └─ kafka
│  │        │     └─ domain
│  │        │        └─ dto
│  │        ├─ controller
│  │        │  └─ dto
│  │        │     ├─ request
│  │        │     └─ response
│  │        ├─ domain
│  │        │  ├─ collection
│  │        │  ├─ entity
│  │        │  └─ mapper
│  │        ├─ repository
│  │        │  ├─ dto
│  │        │  └─ querydsl
│  │        ├─ scheduler
│  │        │  └─ dto
│  │        └─ service
│  │           └─ dto
│  └─ resources
└─ test
  • collection : 일급 컬렉션 관리
  • mapper : MapStruct Mapper 인터페이스 관리
  • test : Service 내 각 함수에 대한 JUnit 테스트 코드 관리

아키텍처

전체

핏터링 서비스는 다음과 같은 아키텍처로 구성되어 있습니다. 전체아키텍쳐

백엔드

핏터링 서비스의 백엔드는 다음과 같은 아키텍처로 구성되어 있습니다.

백엔드아키텍쳐


다음은 각 기술을 사용한 이유와 블로그에 기록한 📄 기술 적용기, ➰ 관련 PR입니다.

Swagger

팀 내 API 문서 공유를 위해 Swagger를 적용했습니다.
아래는 문서 내용 일부로, 전체 문서는 여기에서 확인하실 수 있습니다.

image

ERD

fittering-backend-ERD

  • 생성 날짜 created_at, 최종 수정 날짜 updated_at은 모든 엔티티의 공통 필드

💻 개발환경

- IntelliJ IDEA Ultimate 2023.1.3
- Java 17
- Spring Boot 3.1.1
- Spring Security 6.1.1
- Gradle 7.6.1
- MySQL 8.0.33
- ELK 7.6.2

📑 트러블 슈팅

About

핏터링 서비스 백엔드

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages