Skip to content

⚙️ [기능추가][백엔드] 멀티모듈 프로젝트 초기 구조 세팅 (Member, Auth, Swagger, DB) #2

@Cassiiopeia

Description

@Cassiiopeia

📝 현재 문제점

백엔드 프로젝트가 빈 껍데기(build.gradle만 존재)인 상태로, 실제 개발을 진행할 수 있는 기반 구조가 없음
인증/인가, 회원 관리, 예외 처리, API 문서화 등 핵심 공통 인프라가 미구축 상태

🛠️ 해결 방안 / 제안 기능

6개 모듈 기반 멀티모듈 구조 확립 (SS-Common, SS-Member, SS-Auth, SS-Study, SS-Application, SS-Web)
소셜 로그인(카카오/구글/애플) + JWT 기반 인증/인가 체계 구축
회원(Member) 도메인 엔티티 및 리포지토리 구성
Swagger(springdoc) API 문서 자동화 세팅
데이터베이스 연결 설정 (PostgreSQL, Redis, MongoDB)
통합 예외 처리 체계 구성 (CustomException + ErrorCode)

⚙️ 작업 내용
SS-Common 모듈
BaseTimeEntity (생성일/수정일 자동 관리)
통합 예외 처리: ErrorCode(enum), CustomException, ErrorResponse(record), GlobalExceptionHandler
Authorization 토큰 추출 유틸리티
SS-Member 모듈
Member 엔티티 (소셜 로그인 기반, SocialType enum)
MemberRepository (JPA)
SS-Auth 모듈
AuthController: 소셜 로그인 / 토큰 재발급 / 로그아웃 API
AuthService: 소셜 로그인 플로우, 랜덤 닉네임 자동 생성
JWT: jjwt 0.12.6 최신 API 기반 토큰 발급/검증 (JwtTokenProvider, JwtProperties)
소셜 로그인 전략 패턴 (SocialLoginStrategy - Kakao/Google/Apple)
RefreshToken Redis 저장소
인터셉터 기반 인증 (AuthInterceptor, @AuthMember, LoginMember, LoginMemberArgumentResolver)
Request/Response 전체 record 타입 적용
SS-Application 모듈
크로스모듈 서비스 레이어 (Web 제외 전체 의존)
SS-Web 모듈
WebConfig: 인증 인터셉터 및 ArgumentResolver 등록
SwaggerConfig: OpenAPI + JWT SecurityScheme 설정
application.yml: PostgreSQL / Redis / MongoDB / JWT / Swagger / Actuator 설정
빌드 설정
settings.gradle: 6개 모듈 등록
모듈별 build.gradle 의존성 구성 (JWT 0.12.6, PostgreSQL, Redis, MongoDB, springdoc 2.7.0)

🙋‍♂️ 담당자

  • 백엔드: @Cassiiopeia
  • 프론트엔드: 이름
  • 디자인: 이름

Metadata

Metadata

Assignees

Labels

작업완료작업 완료 상태인 경우 (이슈 폐쇄)

Type

No type

Projects

Status

작업완료

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions