HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
♥️
2기 최종 프로젝트 팀별 공간
/
💡
[팀 04] 동규라미
/
🌟
회의록 & 스크럼
/
🌚
팀 로고 이미지 업데이트, yaml 공지, 패키지 리팩토링, 이메일 정책
🌚

팀 로고 이미지 업데이트, yaml 공지, 패키지 리팩토링, 이메일 정책

태그
1부
구분
백엔드
날짜
Aug 5, 2022
참여인원
 
공지팀 로고 이미지 업데이트 PR 머지 후 공지 !도메인 리팩토링할때 아키텍처적으로 참고하면 좋을 것같습니다.패키지 리팩토링
 

공지

팀 로고 이미지 업데이트 PR 머지 후 공지 !

  • 로컬 실행에도 s3를 이용하기 위해서 yaml 파일에 설정을 추가해 놨습니다.
  • 따라서 머지가 된다면 env 파일에 자신의 aws 계정을 설정해서 사용할 수 있도록 세팅을 해놨습니다 개발용 s3를 하나더 만드는게 좋을 것 같은데 늦어서… 하나 더 만들게 된다면 수정을 해두겠습니다 !

도메인 리팩토링할때 아키텍처적으로 참고하면 좋을 것같습니다.

www.baeldung.com
https://www.baeldung.com/hexagonal-architecture-ddd-spring
 
Domain Driven Design and package organization
I am lucky enough to be working in a team that values DDD. In my time in sky I have worked in at least one big long-lived application (8+ years) and a couple of greenfield applications. The long-lived one was fairly well structured around it's domain.
Domain Driven Design and package organization
https://codeforfunandmoney.wordpress.com/2016/07/13/domain-driven-design-and-package-organization/
Domain Driven Design and package organization
 

패키지 리팩토링

  • 일요일에 의견 종합하고 적용하는게 목표
NULL이 생각하는 대략적인 패키지 구조
  • common
    • security
      • jwt
      • config
        • WebSecurityConfig
    • aws
      • S3
    • config
      • WebMvcConfig
    • exception
 
  • auth
    • config
      • OAuthConfig
      • PasswordEncoderConfig
    • model
      • repository
        • TokenRepository(Interface)
        • JpaTokenRepository
        • RedisTokenRepository
      • dto
        • AuthRequest
        • AuthResponse
      • service
        • AuthService
        • TokenService(Interface)
        • RedisService
        • CustomOAuthService
      • controller
        • AuthController
        •  
    • user
      • config
        • empty
      • model
        • User
        • Role
        • Location (Match랑 같이쓰는데 따로둬도 되나?.. )
          • 패키지 하나 빼서 주기는 너무 과하고 그렇다고 여기에만 있는것도 좀 그렇긴하네염 ..아니면 저희 baseEntity 랑 같이 두는건 어떨까요 ? -hyeb
          • 혜빈님 말씀대로 별도의 패키지에 공통 model들을 담는것도 좋을 것같네요 - NULL
      • repository
        • UserRepository
      • dto
        • UserRequest
        • UserResponse
      • service
        • UserService
      • controller
        • UserController
        •  
    • team
      • config
        • empty
      • model
        • Team
        • TeamInvitation
        • TeamMember
        • TeamMemberRole
      • dto
        • XXRequest
        • XXResponse
      • repository
        • TeamRepository
        • TeamInvitationRepository
        • TeamMemberRepository
      • service
        • TeamService
        • TeamInvitationService
        • TeamMemberService
      • controller
        • TeamController - TeamService, TeamInvitationService, TeamMemberService 의존, 한곳에서 관리 → 뚱뚱해지면 분리
         
      • HYEB : Location 관련 의견 하나 남겼습니다. 근데 jpa 프로젝트에서도 model이라는 패키지 명을 사용하나요 ? (궁금) 패키지 구조 좋슴다
        • model은 조금 큰 개념이고 entity는 model 중에서도 특수한 느낌의 분류가 아닐까 하는 생각에 model이라고 했습니다 Role,Location 클래스는 entity는 아니지만 Entity의 부속품인 느낌이 들어서 model이라는 패키지 안에 entity와 함께 넣었어요

        진행상황

      • 웹소켓 - 토요일 밤까지 해보고 안되면 리팩토링, 클라우드 워치, 멀티모듈에 붙어서 같이 하기
        • 자료를 찾고, 일단 플젝 반영을 떠나서 돌아가는 코드를 작성중인데 이론부분을 백프로 이해하지 못해서 더디게 가고 있습니다.
        • 주말을 잘 활용해보겠습니다.
      • 클라우드 워치.. 적용이 언제까지 될지?? - 병연님
      • 리팩토링 2명이 필요할 것 같은데.. - 진형
        • 병연님 클라우드 워치 하면서 같이 리팩토링 하는게 좋을듯
      • 멀티모듈 - 형욱님 , 동운님
      • 이미지 업로드 PR머지 - 이거는 바로될거고
      • 이메일, 레디스 거의 다됐었던 것 같음 - 동운님
      •  
        목표 리팩토링 클라우드 워치, 이메일, 레디스, OAuth 적용
         
        동운님은 리팩토링 성능측정하고싶음 토욜 밤까지 멀티모듈에 힘써보고 아니다 싶으면 리팩토링과 성능 측정할 예정
         

        이메일 정책

      • 현재 구현된 상황
        • dongkyurami2@gmail.com 이메일 생성
          • → 마크껄로 2단계 인증해서 앱 비밀번호로 설정한 상태
        • 이메일 전송 → 인증하기 버튼(GET URI 추가)
          • GET /api/users/confirm-email?email=:email&authToken=:authToken
            → 버튼 클릭되면 해당 URL로 인증처리
      • 논의 사항
        • 회원가입을 할때 인증이 되어야만 완료가 되게 할 것인지?
        • 추후에 이메일을 인증하도록 할것인지? (개인 프로필 페이지에서 버튼 추가 등)