폴더 아키텍쳐 및 요청 흐름도

codakcodak·2023년 12월 3일
0

wannago

목록 보기
1/5

wannago

  • 여행의 성격을 나타내는 컨셉을 만들어 여행지를 기반으로한 버킷을 담아 관리하는 여행 관련 서비스

사이트 화면

  • 컨셉 리스트

  • 컨셉 생성

  • 컨셉 상세

  • 버킷 생성

  • 컨셉 미디어

  • 버킷 휴지통

  • 커뮤니티

담당역할

  • 전반적인 백엔드 담당,내부로직 구현,성능 최적화,폴더 아키텍쳐 설계

세부 사항

  • 유저,버킷,컨셉,미디어(사진 및 동영상),여행지 CRUD api 구현
  • 소셜 로그인(카카오,네이버,구글) 구현
  • ErrorCode 및 CustomException 구현
  • 팩토리 형식의 파일 관련 클래스 구현
  • partial content를 사용한 동영상 스트리밍 구현
  • 멀티쓰레드를 사용한 초당 동영상 썸네일 작업 최적화
  • spring-security 및 jwt토큰을 사용한 인증 구현
  • ResponseBodyAdvice를 통한 response 형태 통일

ERD

폴더 구조

src
   ├─ main
   │  ├─ java
   │  │  └─ com
   │  │     └─ ssafy
   │  │        └─ wannago
   │  │           ├─ attraction(여행지 관련 api)
   │  │           │  ├─ controller
   │  │           │  └─ model
   │  │           │     ├─ mapper
   │  │           │     └─ service
   │  │           ├─ bucket(버킷 관련 api)
   │  │           │  ├─ controller
   │  │           │  └─ model
   │  │           │     ├─ mapper
   │  │           │     └─ service
   │  │           ├─ concept(컨셉 관련 api)
   │  │           │  ├─ controller
   │  │           │  └─ model
   │  │           │     ├─ mapper
   │  │           │     └─ service
   │  │           ├─ errorcode(열겨형 클래스 enum을 사용한 코드 및 설명)
   │  │           ├─ exception(CustomException 인터페이스 및 예외 구현체 클래스)
   │  │           ├─ file(파일 관련 기능 클래스)
   │  │           │  └─ utils
   │  │           ├─ jwt(jwt토큰 생성 및 검증 관련 클래스)
   │  │           ├─ main(health check 및 ExceptionHandler)
   │  │           │  └─ controller
   │  │           ├─ media(미디어 관련 api)
   │  │           │  ├─ controller
   │  │           │  └─ model
   │  │           │     ├─ mapper
   │  │           │     └─ service
   │  │           ├─ oauth(소셜로그인 관련 api)
   │  │           │  └─ controller
   │  │           ├─ response
   │  │           ├─ security(spring-security설정)
   │  │           │  └─ configure
   │  │           ├─ user(유저 관련 api)
   │  │           │  ├─ controller
   │  │           │  └─ model
   │  │           │     ├─ mapper
   │  │           │     ├─ service
   │  └─ resources
   │     ├─ .gitignore
   │     └─ mapper(매퍼 설정 xml)
   └─ test

유저 다이어그램

요청 흐름도

api 명세서

노션 api명세 링크

profile
숲을 보는 코더

0개의 댓글