220821~08/25_광고 관리 플랫폼 대행사 센터 제작 7_에이전트 관리 기능 구현 및 페이지 제작

창고·2022년 8월 29일
0

해당 게시글은 개인 프로젝트인 "광고 관리 플랫폼 대행사 센터 제작"
#33 "에이전트 관리 기능 구현 + 뷰 적용" 이슈를 다루고 있습니다.

1. 에이전트 관리 기능 테스트 정의

(1) 비즈니스 로직 테스트 정의 및 구현 (service)

  • 에이전트 관리 기능에 대한 비즈니스 로직 관련 테스트를 정의하고 기능을 추가
    • 정렬 기능 (이름순 / 생성일자 순)
    • 페이지네이션 기능
    • 에이전트 리스트 조회
    • 에이전트 수정 - 에이전트 그룹 소속 변경
    • 에이전트 삭제
    • 에이전트 상세 정보 조회 (이름, 프로필, 매핑된 광고주)
    • 에이전트 상세 정보 - 매핑 광고주 조회 (광고주 캠페인 관리 페이지로 리다이렉션)

(2) 결과

  • 수정 기능은 기존에 배웠던 강의에서 다루지 않는 '소속 그룹' 변경 건이라 추가 레퍼런스 조사가 필요할 듯 하여 보류하였음
  • 삭제 기능의 경우 실제 삭제가 아닌 '삭제된 상태'로 변경하는 내용이라 마찬가지로 추가 레퍼런스 조사가 필요할 듯 하여 보류하였음

2. 컨트롤러 기능 추가 및 뷰 구현

(1) 컨트롤러 테스트 정의 (controller)

  • 수정, 삭제 기능을 추가하려 하였으나 위의 사유로 일단 보류

(2) 페이지 제작 (Thymeleaf)

  • Thymeleaf Decoupled Logic으로 각 페이지 기능을 구현하였음
  • 구현하지 않았던 상세 페이지 추가 완료
  • 에이전트 관리 페이지 index
  • 에이전트 관리 상세 페이지
  • css 및 디자인 작업은 모든 페이지 기능 구현 완료 후 일괄 수정 예정

3. 미흡한 점, 개선이 필요한 내용

(1) 기능 구현 간에 확인된 내용

  • 에이전트 수정 기능의 경우, 단순히 에이전트 객체만의 속성을 수정하는 것이 아니라 연관관계 부분을 수정해야 하기 때문에 (에이전트 그룹-에이전트) 강의에서 배운 내용과는 다른 접근이 필요함. 이에 대해 레퍼런스를 찾아봐야 할 것으로 보임.
  • 에이전트 삭제 기능의 경우, 단순히 삭제 처리를 하는 것이 아니라 데이터 보존 및 다른 비즈니스 로직 처리 시의 이슈로 에이전트 객체를 '삭제됨' 상태로 수정을 하는 것으로 처리해야 하는데 이 역시 레퍼런스를 찾아봐야 할 것으로 보임

(2) 추가로 구현해야 하는 기능

  • 에이전트 생성 기능의 경우, 실제 광고 플랫폼 대행사 센터에서는 2가지 방식의 비즈니스 로직으로 처리를 하고 있음
    • 대행사 플랫폼에서 초대장 발송 -> 초대장 승인 -> 가입 완료
      • 구글, 크리테오, 11번가가 해당 방식을 사용
      • 광고 플랫폼 대행사 센터에서 에이전트의 계정 ID로 사용할 이메일에 초대장을 발송, 에이전트가 이를 승인하여 대행사 플랫폼 가입 및 에이전시에 소속됨
    • 에이전트가 플랫폼에 가입 -> 에이전시 측으로 가입 요청 -> 승인 완료
      • 네이버, 카카오가 해당 방식을 사용
      • 에이전트가 광고 플랫폼에 가입한 후 에이전시 측으로 가입 요청을 하며 에이전시가 광고 플랫폼 대행사 센터에서 이를 승인하여 에이전트의 소속을 배정시킴
  • 해당 프로젝트에서 위의 비즈니스 로직을 참고하여 기능을 구현하기 위해 다음과 같은 작업이 필요함
    • 대행사 플랫폼에서 초대장 발송
      • 초대장 양식을 만들어야 하며, 대행사 센터 - 초대장 간 API 작업 추가 필요
      • 초대장 발송 전에 미리 에이전트 그룹을 지정하는 방식으로 처리 필요
      • 초대장 발송 시 임시 비밀번호로 전달되며 계정 생성 후 비밀번호 수정 기능 추가 필요
    • 에이전트가 플랫폼에 가입
      • 회원가입 페이지를 만들어야 하며 '가입 미승인' 상태 필요
      • 승인 처리 시 에이전트 그룹을 지정하는 방식으로 처리 필요
      • 가입 승인 요청 및 확인 페이지 별도 제작 필요
  • 해당 프로젝트의 포트폴리오 시연 환경 및 작업 난이도를 고려하여 2가지 비즈니스 로직 중 하나를 선정할 필요가 있음

(3) 어떻게 해야 할 것인지

  • 수정 / 삭제 기능의 경우 1.0.0 Release 시에 구현이 가능하다면 리팩토링 과정에서 구현을 해볼 것
  • 생성 기능의 경우 보다 복잡한 기능이 요구되어 2.0.0 Release 시에 구현을 해볼 것
profile
공부했던 내용들을 모아둔 창고입니다.

0개의 댓글